JP3581056B2 - Traffic observing device, traffic monitoring device, datagram transfer device, and datagram transfer system - Google Patents

Traffic observing device, traffic monitoring device, datagram transfer device, and datagram transfer system Download PDF

Info

Publication number
JP3581056B2
JP3581056B2 JP25849599A JP25849599A JP3581056B2 JP 3581056 B2 JP3581056 B2 JP 3581056B2 JP 25849599 A JP25849599 A JP 25849599A JP 25849599 A JP25849599 A JP 25849599A JP 3581056 B2 JP3581056 B2 JP 3581056B2
Authority
JP
Japan
Prior art keywords
datagram
weight value
user
traffic
flow
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.)
Expired - Fee Related
Application number
JP25849599A
Other languages
Japanese (ja)
Other versions
JP2001086157A (en
Inventor
育生 山崎
敬司 清水
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP25849599A priority Critical patent/JP3581056B2/en
Publication of JP2001086157A publication Critical patent/JP2001086157A/en
Application granted granted Critical
Publication of JP3581056B2 publication Critical patent/JP3581056B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、高速コンピュータ間通信を提供する公衆通信網に関し、詳細には、ベストエフォート型データ通信サービスを提供するための方法及びそれを実現するための装置に関するものである。
【0002】
【従来の技術】
インターネットで用いられるIP(インターネットプロトコル)パケットのように、その配達が通信網によって保証されないデータユニットをデータグラムと呼ぶ。このようなデータグラムの転送によりデータ通信サービスを実現する通信網をデータグラム転送網と呼ぶ。データグラム転送網では、網内のデータグラム転送装置(例えばインターネットではルータと呼ばれる装置)が、任意の大きさを持つデータグラムをそのヘッダーに記載された宛先アドレスに向けてリレーすることにより、データ通信サービスが実現される。
【0003】
データグラム転送装置では、自らの処理能力を超えるデータグラムが極短い期間に集中して到着した場合(これを輻輳状態と呼ぶ)、到着したデータグラムを適宜廃棄してしまう。そのため、データグラム転送網では、「網は個々のデータグラムをその宛先への配達を目指し網内の転送装置の能力の可能な限りの転送を行う」というベストエフォート型データ通信サービスが提供される。
【0004】
図1は、これまで述べたようなデータグラム転送網を構成するデータグラム転送装置の一般的な構成を説明する図である。データグラム転送装置は、いくつかの入力インターフェース部11といくつかの出力インターフェース部12が一つのパックプレーンスイッチ部13に接続された構成をとっている。パックプレーンスイッチ部13は、任意の入力インターフェース部11から任意の出力インターフェース部12へ、内部で競合することなくデータグラムを転送する機能を具える。
【0005】
図2は、図1における入力インターフェース部11の構成を説明する図である。入力インターフェース部11は、入力ラインインターフェース部21、転送宛先テーブル23を有するデータグラム転送処理部22及びデータグラム送信部24を具える。入力リンクから入力ラインインターフェース部21においてデータグラムが受信されると、データグラム転送処理部22が転送宛先テーブル23を参照して宛先アドレスから所望の出力インターフェース部12を決定し、パックプレーンスイッチ部13を介して受信したデータグラムを、所望の出力インターフェース部12へ転送するために適切なデータグラム送信部24へ送る。
【0006】
図3は、図1における出力インターフェース部12の構成を説明する図である。出力インターフェース部12は、データグラム受信部31、バッファメモリーを有するバッファメモリー制御部32及び出力ラインインターフェース部33を具える。パックプレーンスイッチ部13からデータグラム受信部31に受信されるデータグラムは、バッファメモリー制御部の処理方法に従ってバッファメモリーに一時格納された後、出力ラインインターフェース部33へ転送され、出力リンクへ送信される。従来のデータグラム装置では、この出力インターフェース部12におけるバッファメモリー制御方法として、バッファメモリーに空きがある限り到着した順にデータグラムを書込み、書込まれた順に読出すFIFO(First−In First−Out)方式を用いている。
【0007】
一方、出力インターフェース部におけるバッファメモリー制御方法として他にFQ(Fair Queuing)がある。これは、フロー(一つの送信側データグラム転送装置から一つの受信側データグラム転送装置まで一つの経路を通過するデータグラム列)を所定の粒度で識別した時に各フローが出力リンクにおいて同じスループットになるようにバッファメモリーから読出す順序を制御するものである。また、各フローの重みを考慮に入れ、重みに比例するスループットに分けることが可能なWFQ(Weighted Fair Queuing) がある(A.Demers,S.Keshav,S.Shenker,”Analysis and Simulation of a Fair Queuing Algorithm”,Proceedings of ACM SIGCOMM,pp.1−12,Sept.1989 参照)。
【0008】
図4は、このバッファメモリー制御部32の構成を説明する図である。ここでは、バッファメモリーに、それぞれに重みが設定された複数のキュー42を具える。データグラム受信部31からデータグラムが送られてくると、クラシファイヤ41がそのデータグラムを格納するキュー42を決定し、スケジューラ43が各キューの重み値に比例する出力スループットになるようにキューを選択し、その先頭のデータグラムを出力ラインインターフェース部33へ転送する。FQはこのWFQの重み値を全て同一値とした特別な場合に相当する。
【0009】
一つの出力インターフェース部に接続される出力リンクに、そのリンク帯域より多いデータグラムが到着している場合、そのリンクをボトルネックリンクという。このボトルネックリンクにおいては、フローチャートのユーザーのフローがリンク帯域という資源を共有することになる。その場合、例えば、インターネットに接続するユーザーは契約による差別化を期待すると考えられる。具体的には、20Mのアクセス回線契約をしたユーザーは、10Mのアクセス回線契約をしたユーザーより多いスループットを得られることを期待する。従って、契約を考慮に入れてボトルネックリンクにおけるスループットの差別化を行うことが望まれる。
【0010】
ところが、出力インターフェース部にFIFOを使用している従来のデータグラム転送装置を用いる転送網では、全ての輻輳レート制御がユーザー端末に実装されたTCP(伝送制御プロトコル)に任せられている。このTCPの輻輳レート制御は、FIFOにおいて、バッファメモリーが一杯のためバッファメモリー読込み制御部でデータグラムが廃棄された時にレートを下げる制御であり、各TCPフローのスループットが等しくなる。これによると、ユーザーの契約とは全く無関係に同時に数多くのフローを張ったユーザーが高い合計スループットを得ることができることとなり、そのようなユーザーが得をすることになるという問題がある。
【0011】
図5はその一例を説明する図である。この例では、ユーザーAが2本のフロー51及び52を、ユーザーBが1本のフロー53を、それぞれ同一の帯域幅を持つアクセス回線54及び55を通して流している場合に、それら3本のフローが或るデータグラム転送装置56で共有している例えば30Mbpsの出力リンク57が輻輳状態になったものとする。この場合、このボトルネックリンク57における3本の各フロー51、52及び53のスループットは10Mbpsずつと等しくなるため、ユーザーAが得る合計スループットはフロー2本分である20Mbpsであるのに対し、ユーザーBが得るスループットはフロー1本分の10Mbpsであり、ユーザーAが得をすることになる。
【0012】
また、データグラム転送装置の出力インターフェース部のバッファメモリー制御部にFQを使用する場合、輻輳リンクにおいて所定の粒度でのフロー毎のスループットを等しくすることができるが、1ユーザーが複数のフローを張ることができる場合は、FIFOの場合と同様に、結果的にユーザーのレベルで見たそのリンクを使用する合計スループットの面で不公平が生じる。例えば、IPアドレスでフローを識別する場合、複数のIPアドレスを持つユーザーが得をする。この問題を複数フロー問題という。この複数フロー問題は、通常のIPデータグラムのヘッダーに格納されているIPアドレス或いはポート番号等の情報だけでは解決できず、従ってはボトルネックリンクにおける契約を考慮に入れたスループットの差別化の実現は困難である。
【0013】
例えば、複数フロー問題を解決する手段としてWFQを使用する場合、データグラム転送装置の出力インターフェース部において、到着するデータグラムが属するユーザーをクラシファイヤが識別でき、そのキューに設定する重みが分かり、各キューに対して各ユーザーを割当てることができることが必要である。このため、データグラム転送装置がデータグラムのIPアドレスとユーザーIDとの対応を記述したデータベースを保持すること、及び、各ユーザーに対する重み、即ちキューに設定する重みをデータグラム転送装置のWFQに予め設定しておくこと、又はRSVP(リソース予約セットアッププロトコル)のようなシグナリングプロトコルを用いて重みを設定することが必要である。
【0014】
しかしながら、ユーザーの数が膨大な通信網において、このように、網内の輻輳が発生する全てのデータグラム転送装置が全てのユーザーIDデータベースを保持し、そのWFQに静的設定を行っておく必要があり、新たにフローが発生又は消滅する度にシグナリング処理を行う必要があることは大きな問題点である。
【0015】
【発明が解決しようとする課題】
本発明は上記の点に鑑みてなされたものであり、その目的は、各データグラム転送装置が全てのユーザーIDデータベースを保持せずに、複数フロー問題を解決することができるデータグラム転送方法、装置及びシステムを提供することにある。
【0016】
【課題を解決するための手段】
参考例として示す本発明のデータグラム転送方法は、上記の目的を達成するため、通信網内に流入するデータグラムのヘッダーに、そのデータグラムが属するフローが有する通信網資源の利用に対する権利の強さを表し且つユーザー毎に予め定められた規則により制限される重み値を書込み、データグラムのヘッダーに書込まれた前記重み値に従ってフロー毎の重み付け優先転送処理を行う。
【0017】
このような本発明のデータグラム転送方法において、一つの方法は以下のように動作する。即ち、
(1a)転送網内に流入するデータグラムのヘッダーに転送網設備内で重み値を書込む。この重み値は、そのデータグラムが転送網の資源を使用する権利の強さを表す。
(1b)各データグラムに書込む重み値に予め定められた規則を設ける。この規則はユーザーとの契約により差別化される。
(1c)転送網内のデータグラム転送装置においては、現在その装置が処理すべきデータグラムの中で重み値が大きいものほど帯域を使う権利が強いと判断し、転送する割合を多くする重み付け優先転送処理を行う。その際、転送されてきたデータグラムのヘッダーに書込まれた重み値により、その処理を動的に行う。
【0018】
本発明のデータグラム転送方法において、他の方法は以下のように動作する。即ち、
(2a)転送網内に流入するデータグラムのヘッダーにユーザー設備内で重み値を書込む。この重み値は、そのデータグラムが転送網の資源を使用する権利の強さを表す。
(2b)各データグラムに書込む重み値に予め定められた規則を設ける。この規則はユーザーとの契約により差別化される。
(2c)既にヘッダーに重み値が書込まれたデータグラムが転送網内に流入する際に、転送網内設備においてデータグラムのトラヒックを監視し、上記(2b)の規則に違反したデータグラムは違反処理を行い、違反していないデータグラムのみが転送網内に入るようにする。
(2d)転送網内のデータグラム転送装置においては、現在その装置が処理すべきデータグラムの中で重み値が大きいものほど帯域を使う権利が強いと判断し、転送する割合を多くする重み付け優先転送処理を行う。その際、転送されてきたデータグラムのヘッダーに書込まれた重み値により、その処理を動的に行う。
【0019】
従って、本発明において網内でヘッダーフィールドに重み値を書込むために用いられるトラヒック観測装置は、一定時間内にユーザーが通信網に送信し又は通信網から受信するデータグラムに関するトラヒック情報を観測するトラヒック観測機能、トラヒック観測機能により得られる観測結果からそのデータグラムが有する通信網利用の権利の強さを表す重み値を予め定められた規則に合うように計算する重み値計算機能、及び、計算された重み値をデータグラムのヘッダーに書込む重み値挿入機能を具備する。
【0020】
このような本発明のトラヒック観測装置においては、予め定められた規則が、予め定められた方法で識別した各フローの重み値の合計が予めユーザーに一括して与えられた重み値を超えないこととする規則とすることを特徴とする。この場合、各フローの重み値が、予めユーザーに一括して与えられた重み値を、前記トラヒック観測機能によって得られた観測結果から予め定められた方法で識別されたフロー数で除した値としてもよいし、また、各フローの重み値が、予めユーザーに一括して与えられた重み値を、トラヒック観測機能によって得られた観測結果から予め定められた方法で識別されたフローの間で、各フローのスループットの比により分割した値としてもよい。
【0021】
また、ユーザーが重み値を指定する場合に用いられるトラヒック監視装置は、一定時間内にユーザーが通信網に送信し又は通信網から受信するデータグラムに関するトラヒック情報を観測するトラヒック観測機能、ヘッダーに既に重み値が書込まれているデータグラムに対して、予めユーザーと通信網との間で定められた規則が遵守されていることをチェックする機能、及び、チェックした結果前記規則が遵守されていない場合に違反処理を行う違反処理機能を具備する。
【0022】
このような本発明のトラヒック監視装置においては、ユーザーが指定した重み値が規則を遵守していない場合における違反処理は、データグラムを廃棄する処理であってもよいし、また、ユーザーのトラヒックの観測機能から得られた結果から予めユーザーと通信網との間で定められた規則に合致する重み値を計算し、データグラムのヘッダーに書込まれている重み値を該計算した重み値に書換える処理であってもよい。本発明は、予めユーザーと通信網との間で定められた規則が、予め定められた方法で識別した各フローの重み値の合計が予めユーザーに一括して与えられた重み値を超えないこととする規則とすることを特徴とする。
【0023】
ユーザー自身がデータグラムの重み値を決定し、通信網に流入するデータグラムのヘッダーにその重み値を書込むために、ユーザー施設内にヘッダーフィールド挿入装置を具える。ヘッダーフィールド挿入装置は、データグラムが有する通信網利用の権利の強さを表す重み値をユーザー自身が決定し、通信網に流入するデータグラムのヘッダーに該重み値を書込む機能を具備することを特徴とする。
【0024】
更に、本発明において用いるデータグラム転送装置は、いずれかの入力インターフェース部からいずれかの出力インターフェース部へ競合することなくデータグラムを転送するバックプレーン部、及び、データグラムのヘッダーから重み値を取得し、その重み値に基づいて優先転送制御を行う重み付け優先転送機能を具える出力インターフェース部を具備することを特徴とする。
【0025】
このような本発明のデータグラム転送装置は、更に、出力インターフェースで取得したデータグラムの重み値に基づいてフローの状態を管理するフロー管理機能を具え、重み付け優先転送機能がそのフロー管理機能の管理情報に基づいて優先転送制御を行うようにしてもよい。フロー管理機能は、出力インターフェース部のバッファメモリーに溜まっているデータグラムに関するフロー情報を管理するようにしてもよいし、また、過去所定時間内に転送したデータグラムに関するフロー情報を管理するようにしてもよい。
【0026】
このような本発明のデータグラム転送装置によれば、データグラムのヘッダーに書込まれた重み値、送信側及び受信側のIPアドレス、ポート番号等を含むヘッダーフィールドを取出し、重み値の大きい順序に優先的に高い割合でデータグラムを転送する重み付け優先転送が行われる。
【0027】
このような重み付け優先転送は、ヘッダーフィールドから取出される情報に基づいて出力インターフェースが処理すべきフローを識別し、その重み値と共にその状態を管理しそのデータによりWFQの重み設定を行うものである。フローの管理はそのデータグラム転送装置の出力インターフェース部がそのとき処理すべきアクティブフローのみを対象とすればよいため、全てのユーザーIDのデータベースを保持しなければならない従来の方法に比較して負荷は極めて軽い。フロー管理の対象は、現在その出力インターフェースに溜まっているデータグラムに関するフロー情報、過去所定時間内に転送したデータグラムに関するフロー情報等とすることができる。
【0028】
【発明の実施の形態】
次に本発明の実施例を説明する。
【0029】
図6は本発明によるデータグラム転送システムの構成例を示す図である。図中、1a、1b及び1cはデータグラム転送装置、2はトラヒック観測装置、3及び4は回線終端装置、5はユーザー端末、6はアクセス網である。トラヒック観測装置2は、アクセス網6を終端する回線終端装置3と転送網内の最初のデータグラム転送装置1cとの間に設置される。
【0030】
ユーザー端末5からアクセス網6を介して送信されたデータグラムを、転送網の流入口に設置されたトラヒック観測装置2によって観測し、そのデータグラムが属するフローの重み値を、予め定められた規則に合うように計算し、その計算結果をデータグラムのヘッダーに書込み、網内のデータグラム転送装置1a、1b及び1cはその重み値に応じてフロー毎の重み付け優先転送制御を行う。
【0031】
図7は本発明によるトラヒック観測装置の構成例を示す図である。トラヒック観測装置2は、トラヒック観測機能61、重み値計算機能62及び重み値挿入機能63を含む。トラヒック観測機能61は、一定時間内にユーザーが通信網に送信し又は通信網から受信するデータグラムに関するトラヒック情報を観測し保存する。重み値計算機能62は、トラヒック観測機能により得られるトラヒック情報から、予め定められた規則の範囲内で、そのデータグラムが属するフローが有する通信網利用の権利の強さを表す重み値を計算する。重み値挿入機能63は、重み値計算機能62で計算された重み値を送信されるデータグラムのヘッダーに書込む。
【0032】
この場合、各フローの重み値の合計が予めユーザーに一括して与えられた重み値を超えないこととする規則を適用すれば、ユーザー毎のフローの重み値の合計値が制限され、その合計値を契約により差別化することができる。逆にユーザーには予め一括して与えられた重み値がその制限値であり、それが分けられて各データグラムに付与されるともいえる。
【0033】
以下に、重み値の計算例を示す。以下においては、ユーザーiに一括して与えられる重み値をWi 、ユーザーiが同時に張っているフローの本数をNi 本、それらのフローの中でj番目のフローjに設定する重みをWij、j番目のフローのスループットをFijとする。
【0034】
各Wijは全て同一とし、Ni 及びWi を用いてWijを計算する場合は、
Wij=Wi /Ni
であり、この場合は、同一ユーザーの各フローは平等に扱われる。また、Wi 及びFijを用いてWijを計算する場合は、
Wij=Wi ×Fij/ΣFij
である。この場合は、スループットが大きいフローほど重み値が大きくなる。
【0035】
図8は本発明によるデータグラム転送システムの他の構成例を示す図である。図中、1a、1b及び1cはデータグラム転送装置、3及び4は回線終端装置、5はユーザー端末、6はアクセス網、7はヘッダーフィールド挿入装置、8はトラヒック監視装置である。ヘッダーフィールド挿入装置7はユーザー施設内に設置され、トラヒック監視装置8は、アクセス網6を終端する回線終端装置3と転送網内の最初のデータグラム転送装置1cとの間に設置される。
【0036】
このシステムにおいては、ヘッダーフィールド挿入装置7により、ユーザー施設内でユーザー自身の意向を反映してデータグラムのヘッダーに重み値を書込み、アクセス網6を介してデータグラムを転送網へ送信し、転送網は、流入口でそのトラヒックを監視し、そのデータグラムが属するフローの重み値が予め定められている規則に合致するか否かをチェックする。規則に違反している場合には違反処理を行い、規則に合致したデータグラムのみが転送網内に流入するようにする。転送網内のデータグラム転送装置は、その重み値に応じてフロー毎に重み付け優先転送制御を行う。
【0037】
このシステムでは、ヘッダーフィールド挿入装置7により、ユーザー自身が大切と考えるフローのデータグラムに大きい重み値を付与することが可能になる。例えば、ヴォイスオーバーIP又はビデオストリーム等のトラヒックに対してユーザー自身に与えられている重み値全てを与えることを指定することにより、転送網が輻輳状態の時においてもそれらのスループットが下がり難くすることができる。
【0038】
図9はヘッダーフィールド挿入装置7の構成例を示す図である。ヘッダーフィールド挿入装置7は、重み値指定機能71及び重み値挿入機能72を含む。重み値指定機能71はユーザーの重みの指定に基づいて重み値を決定し、重み値挿入機能72はその重み値をヘッダーに書込む。
【0039】
図10はトラヒック監視装置8の構成例を示す図である。トラヒック監視装置8は、トラヒック観測機能75、監視機能76及び違反処理機能77を含む。トラヒック観測機能75は、一定時間内にユーザーが通信網に送信し又は通信網から受信するデータグラムに関するトラヒック情報を観測し保存する。監視機能76は、トラヒック観測機能75により観測されたトラヒック情報からそのトラヒックが予め定められた規則に合致しているか否かをチェックする。規則に違反している場合は違反処理機能77により違反処理が行われる。
【0040】
トラヒック監視装置8の違反処理機能77が行う違反処理の一つの例は、違反したデータグラムを廃棄することである。図11はその廃棄処理のフローチャートである。トラヒック観測機能75によってトラヒックを観測し(ステップ101)、監視機能76で規則に違反しているかをチェックし(ステップ102)、違反している場合は、データグラムを廃棄する(ステップ103)。
【0041】
トラヒック監視装置8の違反処理機能77が行う違反処理の他の例は、違反したデータグラムの重み値を規則に合致するものに書換えることである。図12はその処理のフローチャートである。トラヒック観測機能75によってトラヒックを観測し(ステップ111)、監視機能76で規則に違反しているかをチェックし(ステップ112)、違反している場合は、違反処理として、違反しない重み値を計算して(ステップ113)そのデータグラムのヘッダーに書込まれている重み値を書換える(ステップ114)。
【0042】
トラヒック監視装置8がチェックを行う場合に基準となる規則として、各フローの重み値の合計が予めユーザーに一括して与えられた重み値を超えないこととする規則を適用すれば、ユーザー毎のフローの重み値の合計値が制限され、その合計値を契約により差別化することができる。
【0043】
本発明によれば、データグラムに書込まれる重み値は、トラヒック観測装置において転送網がユーザーのトラヒックを観測することによって付与したものか又はユーザーが付与してそれを転送網がチェックしたものあるため、転送網内に流入するデータグラムの重み値の各ユーザー毎の合計値が制限される。たとえユーザーが複数のフローを流したとしても、それらのデータグラムにはトラヒック観測装置又はトラヒック監視装置が小さい重み値を付与することになり、データグラム転送装置の出力リンクにおいて輻輳が発生した時は、小さい重み値が付与されたデータグラムは、大きい重み値を持つデータグラムより低い割合で転送されることとなる。即ち、複数のフローを流した場合はそれぞれのフローのスループットが小さくなるので、ユーザーが得るその輻輳リンクにおける獲得スループットの面で複数フロー問題を解決し、ユーザーに与えられた重み値で表される資源利用の権利を考慮に入れた資源配分を行うことができる。
【0044】
図13はこのような状況を説明する図である。ユーザーA及びユーザーBは同じ契約で同一の一括重み値20が与えられており、ユーザーAはフロー81及び82の2本のフローを、ユーザーBはフロー83だけを、それぞれアクセス回線84及び85を通してデータグラム転送装置86へ流しているものとすると、ユーザーAはフロー81及び82にそれぞれ付けられた重み値の合計が20以下となり、この場合、フロー81及び82それぞれの重み値が10及び10とし、ユーザーBのフロー83に付けられた重み値は20とする。これらの重み値は、それぞれのフローのデータグラムのヘッダーに書込まれている。この場合、30Mbpsのボトルネックリンク87においては、フロー81、82及び83がそれぞれに重み値に比例する割合で30Mbpsの出力リンクを分けるので、スループットは、それぞれ 7.5Mbps、7.5Mbps 及び15Mbpsとなり、各ユーザーの合計スループットは15Mbpsずつとなる。
【0045】
また、本発明においては、各データグラム転送装置がデータグラムのヘッダーに書込まれた重み値を用いて動的に重み付け優先転送処理を行うので、全てのユーザーに関するデータベースを持つ必要はなく、重み値の事前設定又はシグナリング処理による重み値設定を行う必要もない。
【0046】
データグラム転送装置は、データグラムのヘッダーに記載された重み値及びその他のヘッダーフィールドを取出し、その重み値が大きいデータグラムを優先的に高い割合で転送処理(重み付け優先転送処理)を行う。
【0047】
図14は、本発明によるデータグラム転送装置1(図6及び8参照)の出力インターフェース部(図1及び3の出力インターフェース部12に相当する)におけるバッファメモリー制御部90の構成例を示す図である。バッファメモリー制御部90は、ヘッダーフィールド取得機能91及び重み付け優先転送機能92を含む。ヘッダーフィールド取得機能91は、データグラム受信部から到着したデータグラムのヘッダーから重み値及びその他のフィールドを取出し、ヘッダー情報を重み付け優先転送機能92に渡す。重み付け優先転送機能92は、ヘッダーフィールド取得機能91から得られた情報を用いて、重み値が大きいデータグラムが高い割合を占めるようにして出力ラインインターフェースに転送する重み付け優先転送処理を行う。
【0048】
図15は、重み付け優先転送機能92がそれ自体でフロー管理機能93を具えた、バッファメモリー制御部90の他の構成例を示す図である。この構成においては、ヘッダーフィールド取得機能91からの情報はこのフロー管理機能93に渡され、このフロー管理機能93がアクティブフローを識別してその重み値と共にフロー状態を管理し、それを用いてWFQ等の設定を行い、重み値が大きいデータグラムが高い割合を占めるようにして出力ラインインターフェースに転送する重み付け優先転送処理を行う。
【0049】
図16は、バッファメモリー制御部90にデータグラムが到着した時にフロー管理機能93が行う処理を示すフローチャートである。この場合は、フロー管理機能93におけるアクティブフローの識別のための基準として、出力インターフェース部が過去所定時間内に処理したデータグラムが存在したフローをアクティブフローとする基準を適用している。
【0050】
バッファメモリー制御部90にデータグラムが到着すると、ヘッダーフィールド取得機能91からその情報がフロー管理機能93に伝達される(ステップ121)。フロー管理機能93では、アクティブフローの識別に必要な送信側及び受信側のIPアドレス及びポート番号等の情報、重み値及び最終処理時刻を管理するアクティブフローリストを持っており、ヘッダーフィールド取得機能91から情報が伝達された時には、そのデータグラムが属するフローがアクティブフローリストに存在するか否かを調べる(ステップ122)。
【0051】
伝達されたデータグラムが属するフローがアクティブフローリストに存在しない場合は、新しいアクティブフローとして、重み値及び現在時刻である最終処理時刻を新規登録した後(ステップ123)、重み付け優先転送機能92にそのフローを設定する(ステップ124)。そのフローがアクティブフローリストに存在する場合は、その重み値が登録してある値と同一か否かを調べ(ステップ125)、重み値が登録してある値と異なる場合は、アクティブフローリスト中のそのフローの重み値を書換え、最終処理時刻を現在時刻に更新し(ステップ126)、書換え後の重み値で重み付け優先転送機能92にそのフローを設定する(ステップ127)。そのフローの重み値が登録してある値と同一である場合は最終処理時刻を現在時刻に更新する(ステップ128)。
【0052】
それらの処理の後、アクティブフローリストに登録されているフローのうちに、最終処理時刻から現在時刻までに所定の時間以上経過したフローが存在するか否かを調べ(ステップ129)、所定の時間以上経過したフローは、所定時間データグラムが届いていないことを示すので非アクティブフローとみなし、アクティブフローリストから削除し(ステップ130)、更に重み付け優先転送機能92の設定からも削除する(ステップ131)。
【0053】
図17及び図18は、図15に示された構成を有するバッファメモリー制御部90における他の方法による処理を示すフローチャートである。この図17の場合は、フロー管理機能93におけるアクティブフローの識別のための基準として、現在その出力インターフェース部のバッファメモリーに溜まっているデータグラムがあるフローをアクティブフローとする基準を適用している。
【0054】
図17は、バッファメモリー制御部90にデータグラムが到着した時の処理を示すフローチャートである。バッファメモリー制御部90にデータグラムが到着し、ヘッダーフィールド取得機能91からその情報がフロー管理機能93に伝達されると(ステップ141)、フロー管理機能93では、アクティブフローの識別に必要な送信側及び受信側のIPアドレス及びポート番号等の情報、重み値及びデータグラム数をカウントするデータグラムカウンターを管理するアクティブフローリストを持っており、ヘッダーフィールド取得機能91から情報が伝達された時には、そのデータグラムが属するフローがアクティブフローリストに存在するか否かを調べる(ステップ142)。
【0055】
伝達されたデータグラムが属するフローがアクティブフローリストに存在しない場合は、そのフローのデータグラムカウンターをインクリメントし、重み値と共にそのフローを新規登録した後(ステップ143)、重み付け優先転送機能92にそのフローを設定する(ステップ144)。そのフローがアクティブフローリストに存在する場合は、その重み値が登録してある値と同一か否かを調べ(ステップ145)、重み値が登録してある値と異なる場合は、アクティブフローリスト中のそのフローの重み値を書換え、そのフローのデータグラムカウンターをインクリメントし(ステップ146)、書換え後の重み値で重み付け優先転送機能92にそのフローを設定する(ステップ147)。そのフローの重み値が登録してある値と同一である場合は、そのフローのデータグラムカウンターをインクリメントする(ステップ148)。
【0056】
図18は、重み付け優先転送機能92がデータグラムを送出する時の処理を示すフローチャートである。重み付け優先転送機能92がデータグラムを送出する時は、アクティブフローリスト中のそのフローのデータグラムカウンターをデクリメントし(ステップ151)、そのフローのデータグラムカウンターが0か否かを調べ(ステップ152)、その値が0になると非アクティブフローになったものと見做してフローリストから削除し(ステップ153)、重み付け優先転送機能92の設定からも削除する(ステップ154)。
【0057】
【発明の効果】
以上説明したように、本発明によれば、重み値を用いるデータグラム転送方法により、各データグラム転送装置が全てのユーザーに関するデータベース或いは事前設定なしで又はシグナリング処理なしで、ユーザーと電気通信事業者との契約を考慮に入れたボトルネックリンクにおけるスループットの差別化を提供することが可能になるという多大な効果が得られる。
【図面の簡単な説明】
【図1】データグラム転送装置の一般的な構成を説明する図である。
【図2】図1の入力インターフェース部の構成を説明する図である。
【図3】図1の出力インターフェース部の構成を説明する図である。
【図4】バッファメモリー制御部の構成を説明する図である。
【図5】複数フロー問題を説明する図である。
【図6】本発明のデータグラム転送システムの構成例を示す図である。
【図7】本発明のトラヒック観測装置の構成例を示す図である。
【図8】本発明のデータグラム転送システムの他の構成例を示す図である。
【図9】本発明のヘッダーフィールド挿入装置7の構成例を示す図である。
【図10】本発明のトラヒック監視装置の構成例を示す図である。
【図11】データグラム廃棄処理のフローチャートである。
【図12】データグラムの重み値を書換える処理のフローチャートである。
【図13】複数フロー問題の解決を説明する図である。
【図14】本発明のバッファメモリー制御部の構成例を示す図である。
【図15】本発明のフロー管理機能を具えたバッファメモリー制御部の構成例を示す図である。
【図16】バッファメモリー制御部にデータグラムが到着した時にフロー管理機能が行う処理を示すフローチャートである。
【図17】バッファメモリー制御部にデータグラムが到着した時にフロー管理機能が行う他の処理を示すフローチャートである。
【図18】重み付け優先転送機能がデータグラムを送出する時の処理を示すフローチャートである。
【符号の説明】
1 データグラム転送装置
2 トラヒック観測装置
3、4 回線終端装置
5 ユーザー端末
6 アクセス網
7 ヘッダーフィールド挿入装置
8 トラヒック監視装置
11 入力インターフェース部
12 出力インターフェース部
13 パックプレーンスイッチ
21 入力ラインインターフェース部
22 データグラム転送処理部
23 転送宛先テーブル
24 データグラム送信部
31 データグラム受信部
32 バッファメモリー制御部
33 出力ラインインターフェース部
42 キュー
41 クラシファイヤ
43 スケジューラ
51、52、53 フロー
54、55 アクセス回線
56 データグラム転送装置
57 出力リンク
61 トラヒック観測機能
62 重み値計算機能
63 重み値挿入機能
71 重み値指定機能
72 重み値挿入機能
75 トラヒック観測機能
76 監視機能
77 違反処理機能
81、82、83 フロー
84、85 アクセス回線
86 データグラム転送装置
87 ボトルネックリンク
90 バッファメモリー制御部
91 ヘッダーフィールド取得機能
92 優先転送機能
93 フロー管理機能
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a public communication network providing high-speed computer-to-computer communication, and more particularly, to a method for providing a best-effort data communication service and an apparatus for implementing the method.
[0002]
[Prior art]
Data units whose delivery is not guaranteed by the communication network, such as IP (Internet Protocol) packets used in the Internet, are called datagrams. A communication network that realizes a data communication service by transferring such datagrams is called a datagram transfer network. In a datagram transfer network, a datagram transfer device in the network (for example, a device called a router in the Internet) relays a datagram having an arbitrary size toward a destination address described in a header of the datagram. A communication service is realized.
[0003]
When a datagram exceeding its own processing capacity arrives in a concentrated manner in a very short period (this is called a congestion state), the datagram transfer device appropriately discards the arrived datagram. Therefore, in the datagram transfer network, a best-effort data communication service is provided in which the network transfers the individual datagrams to their destinations as much as possible with the capability of the transfer device in the network. .
[0004]
FIG. 1 is a diagram for explaining a general configuration of a datagram transfer device constituting a datagram transfer network as described above. The datagram transfer device has a configuration in which some input interface units 11 and some output interface units 12 are connected to one pack plane switch unit 13. The pack plane switch unit 13 has a function of transferring a datagram from an arbitrary input interface unit 11 to an arbitrary output interface unit 12 without any internal conflict.
[0005]
FIG. 2 is a diagram illustrating the configuration of the input interface unit 11 in FIG. The input interface unit 11 includes an input line interface unit 21, a datagram transfer processing unit 22 having a transfer destination table 23, and a datagram transmission unit 24. When a datagram is received by the input line interface unit 21 from the input link, the datagram transfer processing unit 22 determines the desired output interface unit 12 from the destination address with reference to the transfer destination table 23, and the pack plane switch unit 13 To the appropriate datagram transmitter 24 for transfer to the desired output interface 12.
[0006]
FIG. 3 is a diagram illustrating the configuration of the output interface unit 12 in FIG. The output interface unit 12 includes a datagram receiving unit 31, a buffer memory control unit 32 having a buffer memory, and an output line interface unit 33. The datagram received by the datagram receiving unit 31 from the pack plane switch unit 13 is temporarily stored in a buffer memory according to the processing method of the buffer memory control unit, then transferred to the output line interface unit 33, and transmitted to the output link. You. In a conventional datagram device, as a buffer memory control method in the output interface unit 12, a FIFO (First-In First-Out) that writes datagrams in the order in which they arrive and reads in the order in which they were written as long as the buffer memory is available. The method is used.
[0007]
On the other hand, there is FQ (Fair Queuing) as another buffer memory control method in the output interface unit. This is because when a flow (a datagram sequence that passes through one path from one transmitting datagram transmitting device to one receiving datagram transmitting device) is identified with a predetermined granularity, each flow has the same throughput on the output link. Thus, the order of reading from the buffer memory is controlled. There is also a WFQ (Weighted Fair Queuing) that can be divided into throughputs proportional to the weights in consideration of the weights of the flows (A. Demers, S. Keshav, S. Shenker, "Analysis and Simulation of Fair Failure"). Queuing Algorithm ", Proceedings of ACM SIGCOMM, pp. 1-12, Sept. 1989).
[0008]
FIG. 4 is a diagram illustrating the configuration of the buffer memory control unit 32. Here, a plurality of queues 42 each having a weight set are provided in the buffer memory. When a datagram is sent from the datagram receiving unit 31, the classifier 41 determines a queue 42 for storing the datagram, and the scheduler 43 sets the queue so that the output throughput is proportional to the weight value of each queue. The selected datagram is transferred to the output line interface unit 33. FQ corresponds to a special case where the weight values of the WFQ are all the same.
[0009]
If more datagrams than the link bandwidth arrive at the output link connected to one output interface unit, the link is called a bottleneck link. In this bottleneck link, the user's flow in the flowchart shares a resource called a link band. In this case, for example, it is considered that a user who connects to the Internet expects to differentiate by contract. Specifically, a user who has contracted for a 20M access line is expected to be able to obtain more throughput than a user who has contracted for a 10M access line. Therefore, it is desirable to differentiate the throughput at the bottleneck link taking into account the contract.
[0010]
However, in a transfer network using a conventional datagram transfer device using a FIFO for an output interface unit, all congestion rate control is left to a TCP (transmission control protocol) mounted on a user terminal. This TCP congestion rate control is a control to lower the rate when the datagram is discarded by the buffer memory read control unit because the buffer memory is full in the FIFO, and the throughput of each TCP flow becomes equal. According to this, there is a problem that a user who has performed a large number of flows at the same time irrespective of the user's contract can obtain a high total throughput, and such a user can obtain a benefit.
[0011]
FIG. 5 is a diagram illustrating an example. In this example, when user A flows two flows 51 and 52 and user B flows one flow 53 through access lines 54 and 55 having the same bandwidth, respectively, these three flows It is assumed that the output link 57 of, for example, 30 Mbps shared by a certain datagram transfer device 56 is in a congested state. In this case, the throughput of each of the three flows 51, 52, and 53 in this bottleneck link 57 is equal to 10 Mbps, so the total throughput obtained by user A is 20 Mbps, which is two flows, whereas The throughput obtained by B is 10 Mbps for one flow, and the user A obtains.
[0012]
Further, when the FQ is used for the buffer memory control unit of the output interface unit of the datagram transfer device, it is possible to equalize the throughput for each flow at a predetermined granularity in a congested link, but one user sets a plurality of flows. If this is the case, as in the case of the FIFO, this results in an unfairness in terms of the total throughput using the link at the user level. For example, when a flow is identified by an IP address, a user having a plurality of IP addresses obtains an advantage. This problem is called a multiple flow problem. This multi-flow problem cannot be solved only by information such as an IP address or a port number stored in a header of a normal IP datagram, and therefore, realization of throughput differentiation taking into account a contract in a bottleneck link. It is difficult.
[0013]
For example, when WFQ is used as a means for solving the multiple flow problem, the classifier can identify the user to which the arriving datagram belongs at the output interface unit of the datagram transfer device, know the weight to be set in the queue, and It is necessary to be able to assign each user to a queue. Therefore, the datagram transfer device holds a database describing the correspondence between the IP address of the datagram and the user ID, and the weight for each user, that is, the weight to be set in the queue, is stored in advance in the WFQ of the datagram transfer device. It is necessary to set the weight or to set the weight using a signaling protocol such as RSVP (Resource Reservation Setup Protocol).
[0014]
However, in a communication network with a large number of users, it is necessary that all datagram transfer apparatuses in which congestion occurs in the network hold all user ID databases and statically set the WFQ. There is a big problem that it is necessary to perform the signaling process every time a new flow occurs or disappears.
[0015]
[Problems to be solved by the invention]
The present invention has been made in view of the above points, and an object of the present invention is to provide a datagram transfer method capable of solving a multiple flow problem without each datagram transfer device holding all user ID databases. It is to provide an apparatus and a system.
[0016]
[Means for Solving the Problems]
In order to achieve the above object, the datagram transfer method of the present invention, which is shown as a reference example, strengthens the right to use the communication network resources possessed by the flow to which the datagram belongs in the header of the datagram flowing into the communication network. A weight value indicating the weight and limited by a rule predetermined for each user is written, and weighted priority transfer processing is performed for each flow according to the weight value written in the header of the datagram.
[0017]
In such a datagram transfer method of the present invention, one method operates as follows. That is,
(1a) A weight value is written in the header of the datagram flowing into the transfer network in the transfer network equipment. This weight value indicates the strength of the datagram's right to use the resources of the transport network.
(1b) A predetermined rule is provided for the weight value to be written in each datagram. This rule is differentiated by a contract with the user.
(1c) In the datagram transfer device in the transfer network, it is determined that the datagram to be processed by the device having the larger weight value has the stronger right to use the band, and the weighting priority for increasing the transfer rate is determined. Perform transfer processing. At that time, the processing is dynamically performed by the weight value written in the header of the transferred datagram.
[0018]
In the datagram transfer method of the present invention, another method operates as follows. That is,
(2a) The weight value is written in the header of the datagram flowing into the transfer network in the user equipment. This weight value indicates the strength of the datagram's right to use the resources of the transport network.
(2b) A predetermined rule is set for the weight value to be written in each datagram. This rule is differentiated by a contract with the user.
(2c) When a datagram whose weight value is already written in the header flows into the transfer network, the datagram traffic is monitored by the equipment in the transfer network, and the datagram that violates the rule of (2b) is Violation processing is performed so that only non-violating datagrams enter the transfer network.
(2d) In the datagram transfer device in the transfer network, it is determined that the larger the weight value among the datagrams to be processed by the device at present, the stronger the right to use the bandwidth, and the weighting priority for increasing the transfer rate is given. Perform transfer processing. At that time, the processing is dynamically performed by the weight value written in the header of the transferred datagram.
[0019]
Therefore, in the present invention, the traffic observation device used to write the weight value in the header field in the network observes the traffic information on the datagram that the user transmits to the communication network or receives from the communication network within a certain time. A traffic observation function, a weight value calculation function of calculating a weight value representing the strength of the right to use the communication network included in the datagram from observation results obtained by the traffic observation function so as to conform to a predetermined rule, and a calculation And a weight value inserting function for writing the weight value into the header of the datagram.
[0020]
In such a traffic observation device of the present invention, the predetermined rule is such that the sum of the weight values of the flows identified by the predetermined method does not exceed the weight value collectively given to the user in advance. It is characterized by the following rule. In this case, the weight value of each flow is a value obtained by dividing the weight value given to the user in advance collectively by the number of flows identified by a predetermined method from the observation result obtained by the traffic observation function. Alternatively, the weight value of each flow, the weight value previously given to the user collectively, between flows identified by a predetermined method from the observation result obtained by the traffic observation function, The value may be divided according to the throughput ratio of each flow.
[0021]
In addition, a traffic monitoring device used when a user specifies a weight value has a traffic observing function for observing traffic information relating to datagrams transmitted to or received from a communication network within a certain period of time by a user. A function to check that a rule predetermined between the user and the communication network is adhered to for the datagram in which the weight value is written, and that the rule is not observed as a result of the check It is provided with a violation processing function that performs violation processing in cases.
[0022]
In such a traffic monitoring device of the present invention, the violation process when the weight value specified by the user does not comply with the rule may be a process of discarding a datagram, or a process of discarding the traffic of the user. Calculate a weight value that matches a rule predetermined between the user and the communication network from the result obtained from the observation function, and replace the weight value written in the header of the datagram with the calculated weight value. May be performed. According to the present invention, a rule determined in advance between a user and a communication network is such that the sum of the weight values of the flows identified by a predetermined method does not exceed the weight value given to the user collectively in advance. It is characterized by the following rule.
[0023]
In order to determine the weight value of the datagram by itself and to write the weight value in the header of the datagram flowing into the communication network, a header field insertion device is provided in the user facility. The header field insertion device has a function of determining a weight value indicating the strength of the right to use the communication network possessed by the datagram, and writing the weight value in the header of the datagram flowing into the communication network. It is characterized.
[0024]
Further, the datagram transfer device used in the present invention obtains a weight value from a backplane unit that transfers a datagram without conflicting from any input interface unit to any output interface unit, and a header of the datagram. And an output interface unit having a weighted priority transfer function for performing priority transfer control based on the weight value.
[0025]
Such a datagram transfer device of the present invention further includes a flow management function for managing the state of the flow based on the weight value of the datagram obtained at the output interface, and the weighted priority transfer function manages the flow management function. Priority transfer control may be performed based on the information. The flow management function may manage flow information on datagrams stored in the buffer memory of the output interface unit, or may manage flow information on datagrams transferred within a predetermined time in the past. Is also good.
[0026]
According to such a datagram transfer apparatus of the present invention, the header field including the weight value written in the header of the datagram, the IP address of the transmitting side and the receiving side, the port number, etc. is taken out, and the order of the weight value is increased. Priority transfer is performed to transfer datagrams at a higher priority.
[0027]
In such weighted priority transfer, a flow to be processed by an output interface is identified based on information extracted from a header field, the state is managed together with the weight value, and the WFQ weight is set by the data. . Since the flow management only needs to be performed on the active flow to be processed by the output interface unit of the datagram transfer device at that time, the load is lower than in the conventional method in which a database of all user IDs must be held. Is extremely light. The flow management target can be flow information relating to datagrams currently stored in the output interface, flow information relating to datagrams transferred within a predetermined time in the past, and the like.
[0028]
BEST MODE FOR CARRYING OUT THE INVENTION
Next, examples of the present invention will be described.
[0029]
FIG. 6 is a diagram showing a configuration example of a datagram transfer system according to the present invention. In the figure, 1a, 1b and 1c are datagram transfer devices, 2 is a traffic observation device, 3 and 4 are line termination devices, 5 is a user terminal, and 6 is an access network. The traffic observation device 2 is installed between the line termination device 3 that terminates the access network 6 and the first datagram transfer device 1c in the transfer network.
[0030]
The datagram transmitted from the user terminal 5 via the access network 6 is observed by the traffic observation device 2 installed at the inlet of the transfer network, and the weight value of the flow to which the datagram belongs is determined according to a predetermined rule. , And writes the calculation result in the header of the datagram, and the datagram transfer devices 1a, 1b, and 1c in the network perform weighted priority transfer control for each flow according to the weight value.
[0031]
FIG. 7 is a diagram showing a configuration example of the traffic observation device according to the present invention. The traffic observation device 2 includes a traffic observation function 61, a weight value calculation function 62, and a weight value insertion function 63. The traffic observing function 61 observes and saves traffic information on datagrams transmitted to or received from a communication network by a user within a predetermined time. The weight value calculation function 62 calculates, from the traffic information obtained by the traffic observation function, a weight value representing the strength of the right to use the communication network belonging to the flow to which the datagram belongs within the range of a predetermined rule. . The weight value insertion function 63 writes the weight value calculated by the weight value calculation function 62 in the header of the transmitted datagram.
[0032]
In this case, by applying a rule that the sum of the weight values of each flow does not exceed the weight value given to the user in advance, the total value of the flow weight values for each user is limited, and the total Values can be differentiated by contract. Conversely, it can be said that the weight value given to the user collectively in advance is the limit value, which is divided and given to each datagram.
[0033]
An example of calculating the weight value will be described below. In the following, Wi is the weight value given to the user i at a time, Ni is the number of flows that the user i is simultaneously setting, and Wij, j are the weights to set the j-th flow j in those flows. Let the throughput of the second flow be Fij.
[0034]
Each Wij is assumed to be the same, and when Wij is calculated using Ni and Wi,
Wij = Wi / Ni
In this case, each flow of the same user is treated equally. When Wij is calculated using Wi and Fij,
Wij = Wi × Fij / ΣFij
It is. In this case, the weight value increases as the throughput increases.
[0035]
FIG. 8 is a diagram showing another configuration example of the datagram transfer system according to the present invention. In the figure, 1a, 1b and 1c are datagram transfer devices, 3 and 4 are line termination devices, 5 is a user terminal, 6 is an access network, 7 is a header field insertion device, and 8 is a traffic monitoring device. The header field insertion device 7 is installed in the user facility, and the traffic monitoring device 8 is installed between the line terminating device 3 that terminates the access network 6 and the first datagram transfer device 1c in the transfer network.
[0036]
In this system, the header field insertion device 7 writes a weight value in the header of a datagram reflecting the user's own intention in the user facility, transmits the datagram to the transfer network via the access network 6, and transfers the datagram. The network monitors the traffic at the inflow port and checks whether the weight value of the flow to which the datagram belongs conforms to a predetermined rule. If the rule is violated, a violation process is performed so that only datagrams that conform to the rule flow into the transfer network. The datagram transfer device in the transfer network performs weighted priority transfer control for each flow according to the weight value.
[0037]
In this system, the header field insertion device 7 makes it possible to assign a large weight value to a datagram of a flow that the user considers important. For example, by specifying that all weights assigned to the user himself are given to traffic such as voice-over IP or video streams, even when the transport network is congested, their throughput is unlikely to decrease. Can be.
[0038]
FIG. 9 is a diagram showing a configuration example of the header field insertion device 7. The header field insertion device 7 includes a weight value designation function 71 and a weight value insertion function 72. The weight value specifying function 71 determines a weight value based on the user's weight specification, and the weight value inserting function 72 writes the weight value in the header.
[0039]
FIG. 10 is a diagram illustrating a configuration example of the traffic monitoring device 8. The traffic monitoring device 8 includes a traffic observation function 75, a monitoring function 76, and a violation processing function 77. The traffic observing function 75 observes and saves traffic information on datagrams transmitted to or received from a communication network by a user within a predetermined time. The monitoring function 76 checks from the traffic information observed by the traffic observing function 75 whether the traffic conforms to a predetermined rule. If the rule is violated, the violation processing function 77 performs violation processing.
[0040]
One example of violation processing performed by the violation processing function 77 of the traffic monitoring device 8 is to discard the violated datagram. FIG. 11 is a flowchart of the discarding process. The traffic observation function 75 observes traffic (step 101), and the monitoring function 76 checks whether the rule is violated (step 102). If the rule is violated, the datagram is discarded (step 103).
[0041]
Another example of the violation processing performed by the violation processing function 77 of the traffic monitoring device 8 is to rewrite the weight value of the violated datagram to one that matches the rule. FIG. 12 is a flowchart of the process. The traffic observation function 75 observes traffic (step 111), and the monitoring function 76 checks whether the rule is violated (step 112). If the rule is violated, a weight value that does not violate is calculated as violation processing. (Step 113), the weight value written in the header of the datagram is rewritten (step 114).
[0042]
If a rule that the sum of the weight values of each flow does not exceed the weight value given to the user in advance is applied as a reference rule when the traffic monitoring device 8 performs a check, The total value of the flow weight values is limited, and the total value can be differentiated by contract.
[0043]
According to the present invention, the weight value written in the datagram is given by the transport network in the traffic observation device by observing the traffic of the user, or is assigned by the user and checked by the transport network. Therefore, the total value of the weight values of the datagrams flowing into the transfer network for each user is limited. Even if the user sends multiple flows, the traffic observation device or traffic monitoring device will give a small weight value to those datagrams, and when congestion occurs on the output link of the datagram transfer device, A datagram to which a smaller weight value is assigned is transmitted at a lower rate than a datagram having a larger weight value. That is, when a plurality of flows are flowed, the throughput of each flow becomes small, so that the problem of the plurality of flows obtained in the congested link obtained by the user is solved, and the flow is represented by a weight value given to the user. Resource allocation can take into account resource usage rights.
[0044]
FIG. 13 is a diagram illustrating such a situation. The user A and the user B are given the same contract and the same collective weight value 20, and the user A receives the two flows of the flows 81 and 82, the user B receives only the flow 83, and the access lines 84 and 85, respectively. Assuming that the flow is flowing to the datagram transfer device 86, the user A makes the sum of the weights assigned to the flows 81 and 82 equal to or less than 20, and in this case, the weights of the flows 81 and 82 are 10 and 10, respectively. The weight value assigned to the flow 83 of the user B is 20. These weight values are written in the header of the datagram of each flow. In this case, in the bottleneck link 87 of 30 Mbps, the flows 81, 82 and 83 divide the output link of 30 Mbps at a rate proportional to the weight value, so that the throughput becomes 7.5 Mbps, 7.5 Mbps and 15 Mbps, respectively. The total throughput of each user is 15 Mbps.
[0045]
Further, in the present invention, since each datagram transfer device dynamically performs weighted priority transfer processing using the weight value written in the header of the datagram, it is not necessary to have a database for all users, and There is no need to set values or set weight values by signaling processing.
[0046]
The datagram transfer device extracts a weight value and other header fields described in the header of the datagram, and performs a transfer process (weighted priority transfer process) with a higher priority on the datagram with the larger weight value.
[0047]
FIG. 14 is a diagram showing a configuration example of the buffer memory control unit 90 in the output interface unit (corresponding to the output interface unit 12 in FIGS. 1 and 3) of the datagram transfer device 1 (see FIGS. 6 and 8) according to the present invention. is there. The buffer memory control unit 90 includes a header field acquisition function 91 and a weighted priority transfer function 92. The header field acquisition function 91 extracts a weight value and other fields from the header of the datagram arriving from the datagram receiving unit, and passes the header information to the weighted priority transfer function 92. The weighted priority transfer function 92 uses the information obtained from the header field acquisition function 91 to perform weighted priority transfer processing for transferring datagrams having a large weight value to the output line interface so as to occupy a high proportion.
[0048]
FIG. 15 is a diagram showing another configuration example of the buffer memory control unit 90 in which the weighted priority transfer function 92 has a flow management function 93 by itself. In this configuration, the information from the header field acquisition function 91 is passed to the flow management function 93, which identifies the active flow, manages the flow state together with its weight value, and uses it for WFQ The weighted priority transfer process is performed in which datagrams having a large weight value occupy a high ratio and are transferred to the output line interface.
[0049]
FIG. 16 is a flowchart showing a process performed by the flow management function 93 when a datagram arrives at the buffer memory control unit 90. In this case, as a criterion for identifying an active flow in the flow management function 93, a criterion for setting a flow in which a datagram processed by the output interface unit in the past within a predetermined time period as an active flow is applied.
[0050]
When the datagram arrives at the buffer memory control unit 90, the information is transmitted from the header field acquisition function 91 to the flow management function 93 (step 121). The flow management function 93 has an active flow list for managing information such as the IP address and port number of the transmitting side and the receiving side necessary for identifying the active flow, a weight value, and a final processing time. When the information is transmitted from, it is checked whether or not the flow to which the datagram belongs is present in the active flow list (step 122).
[0051]
If the flow to which the transmitted datagram belongs does not exist in the active flow list, the weight value and the final processing time, which is the current time, are newly registered as a new active flow (step 123). A flow is set (step 124). If the flow exists in the active flow list, it is checked whether or not the weight value is the same as a registered value (step 125). Is rewritten, the final processing time is updated to the current time (step 126), and the flow is set in the weighted priority transfer function 92 with the rewritten weight value (step 127). If the weight value of the flow is the same as the registered value, the last processing time is updated to the current time (step 128).
[0052]
After these processes, it is checked whether or not there is a flow that has passed a predetermined time or more from the last processing time to the current time among the flows registered in the active flow list (step 129). Since the flow that has passed above indicates that the datagram has not arrived for a predetermined time, it is regarded as an inactive flow, and is deleted from the active flow list (step 130), and is also deleted from the setting of the weighted priority transfer function 92 (step 131). ).
[0053]
FIGS. 17 and 18 are flowcharts showing processing by another method in the buffer memory control unit 90 having the configuration shown in FIG. In the case of FIG. 17, as a criterion for identification of an active flow in the flow management function 93, a criterion for setting a flow having a datagram currently stored in the buffer memory of the output interface unit as an active flow is applied. .
[0054]
FIG. 17 is a flowchart showing processing when a datagram arrives at the buffer memory control unit 90. When a datagram arrives at the buffer memory control unit 90 and its information is transmitted from the header field acquisition function 91 to the flow management function 93 (step 141), the flow management function 93 sends the information necessary for identifying the active flow. And an active flow list that manages information such as the IP address and port number of the receiving side, a weight value, and a datagram counter that counts the number of datagrams. When information is transmitted from the header field acquisition function 91, the It is checked whether or not the flow to which the datagram belongs is in the active flow list (step 142).
[0055]
If the flow to which the transmitted datagram belongs does not exist in the active flow list, the datagram counter of the flow is incremented, and the flow is newly registered together with the weight value (step 143). A flow is set (step 144). If the flow exists in the active flow list, it is checked whether or not the weight value is the same as a registered value (step 145). Is rewritten, the datagram counter of the flow is incremented (step 146), and the flow is set in the weighted priority transfer function 92 with the rewritten weight value (step 147). If the weight value of the flow is the same as the registered value, the datagram counter of the flow is incremented (step 148).
[0056]
FIG. 18 is a flowchart showing processing when the weighted priority transfer function 92 sends out a datagram. When the weighted priority transfer function 92 transmits a datagram, the datagram counter of the flow in the active flow list is decremented (step 151), and it is checked whether the datagram counter of the flow is 0 (step 152). When the value becomes 0, it is regarded as an inactive flow and is deleted from the flow list (step 153), and is also deleted from the setting of the weighted priority transfer function 92 (step 154).
[0057]
【The invention's effect】
As described above, according to the present invention, according to the datagram transfer method using the weight value, each datagram transfer device is able to communicate between the user and the telecommunications carrier without any database or pre-configuration or signaling processing for all users. A great effect is obtained that it is possible to provide a throughput differentiation in the bottleneck link taking into account the contract with the system.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a general configuration of a datagram transfer device.
FIG. 2 is a diagram illustrating a configuration of an input interface unit in FIG. 1;
FIG. 3 is a diagram illustrating a configuration of an output interface unit in FIG. 1;
FIG. 4 is a diagram illustrating a configuration of a buffer memory control unit.
FIG. 5 is a diagram illustrating a multiple flow problem.
FIG. 6 is a diagram showing a configuration example of a datagram transfer system of the present invention.
FIG. 7 is a diagram showing a configuration example of a traffic observation device of the present invention.
FIG. 8 is a diagram showing another configuration example of the datagram transfer system of the present invention.
FIG. 9 is a diagram showing a configuration example of a header field insertion device 7 of the present invention.
FIG. 10 is a diagram showing a configuration example of a traffic monitoring device according to the present invention.
FIG. 11 is a flowchart of a datagram discarding process.
FIG. 12 is a flowchart of a process of rewriting a weight value of a datagram.
FIG. 13 is a diagram for explaining the solution of the multiple flow problem.
FIG. 14 is a diagram illustrating a configuration example of a buffer memory control unit according to the present invention.
FIG. 15 is a diagram illustrating a configuration example of a buffer memory control unit having a flow management function according to the present invention.
FIG. 16 is a flowchart illustrating a process performed by a flow management function when a datagram arrives at a buffer memory control unit.
FIG. 17 is a flowchart showing another process performed by the flow management function when a datagram arrives at the buffer memory control unit.
FIG. 18 is a flowchart showing processing when the weighted priority transfer function sends out a datagram.
[Explanation of symbols]
1 Datagram transfer device
2 Traffic observation device
3, 4 line termination equipment
5 User terminal
6 access network
7 Header field insertion device
8 Traffic monitoring device
11 Input interface
12 Output interface
13 Pack plane switch
21 Input line interface
22 Datagram transfer processing unit
23 Transfer destination table
24 Datagram transmission unit
31 Datagram receiving unit
32 buffer memory control unit
33 Output line interface
42 queues
41 Classifier
43 Scheduler
51, 52, 53 flow
54, 55 access line
56 Datagram transfer device
57 Output Link
61 Traffic observation function
62 Weight value calculation function
63 Weight value insertion function
71 Weight specification function
72 Weight value insertion function
75 Traffic Observation Function
76 Monitoring function
77 Violation handling function
81, 82, 83 flow
84, 85 Access line
86 Datagram transfer device
87 Bottleneck Link
90 Buffer memory control unit
91 Header field acquisition function
92 Priority transfer function
93 Flow management function

Claims (10)

一定時間内にユーザーが通信網に送信し又は通信網から受信するデータグラムに関するトラヒック情報を観測するトラヒック観測機能、トラヒック観測機能により得られる観測結果からそのデータグラムが属するフローが有する通信網利用の権利の強さを表す重み値を予め定められた規則に合うように計算する重み値計算機能、計算された重み値をデータグラムのヘッダーに書込む重み値挿入機能を具備するトラヒック観測装置であって
前記重み値計算機能における規則を、予め定められた方法で識別した各フローの重み値の合計が予めユーザーに一括して与えられた重み値を超えないこととする規則としたことを特徴とするトラヒック観測装置。
A traffic monitoring function for observing the traffic information about the datagrams user within a predetermined time to receive from and send to the communication network or communication network, a communication network utilizing the flow of the datagram from the observation results obtained belongs by traffic monitoring function has traffic observation comprising the a weight value calculation function of calculating to fit a predetermined rule weighting value representing the intensity of rights, and a header writing weight value insertion function datagram the calculated weight value A device ,
The rule in the weight value calculation function is a rule that a sum of weight values of respective flows identified by a predetermined method does not exceed a weight value collectively given to a user in advance. Traffic observation device.
請求項に記載のトラヒック観測装置において、前記各フローの重み値、予めユーザーに一括して与えられた重み値を、前記トラヒック観測機能によって得られた観測結果から予め定められた方法で識別されたフロー数で除した値であることを特徴とするトラヒック観測装置。2. The traffic observation device according to claim 1 , wherein the weight value of each flow is such that a weight value given to a user in advance is identified by a predetermined method from the observation result obtained by the traffic observation function. A traffic observation device, wherein the value is a value obtained by dividing by a given number of flows. 請求項に記載のトラヒック観測装置において、前記各フローの重み値、予めユーザーに一括して与えられた重み値を、前記トラヒック観測機能によって得られた観測結果から予め定められた方法で識別されたフローの間で、各フローのスループットの比により分割した値であることを特徴とするトラヒック観測装置。2. The traffic observation device according to claim 1 , wherein the weight value of each flow is such that a weight value given to a user in advance is identified by a predetermined method from the observation result obtained by the traffic observation function. A traffic observation apparatus characterized in that values obtained by dividing the flows by the ratio of the throughput of each flow are divided. 一定時間内にユーザーが通信網に送信し又は通信網から受信するデータグラムに関するトラヒック情報を観測するトラヒック観測機能、ヘッダーに既に重み値が書込まれているデータグラムに対して、予めユーザーと通信網との間で定められた規則が遵守されていることをチェックする機能、チェックした結果前記規則が遵守されていない場合に違反処理を行う違反処理機能を具備するトラヒック観測装置であって
前記予めユーザーと通信網との間で定められた規則を、予め定められた方法で識別した各フローの重み値の合計が予めユーザーに一括して与えられた重み値を超えないこととする規則としたことを特徴とするトラヒック監視装置。
A traffic monitoring function for observing the traffic information about the datagrams user within a predetermined time to receive from and send to the communication network or communication network, with respect to datagram already weighted value in the header is written, and advance the user there in the traffic monitoring device comprising a function of checking that the rules stipulated by the communication network is avoided, and a violation processing function for violation processing if the check result the rules are not complied And
The rule that the rule determined in advance between the user and the communication network is such that the sum of the weight values of each flow identified by a predetermined method does not exceed the weight value given to the user in advance. traffic monitoring device, characterized in that the the.
請求項に記載のトラヒック監視装置において、前記規則が遵守されていない場合における違反処理、当該データグラムを廃棄する処理であることを特徴とするトラヒック監視装置。5. The traffic monitoring device according to claim 4 , wherein the violation process when the rule is not observed is a process of discarding the datagram. 請求項に記載のトラヒック監視装置において、前記規則が遵守されていない場合における違反処理、ユーザーのトラヒックの観測機能から得られた結果から予めユーザーと通信網との間で定められた規則に合致する重み値を計算し、データグラムのヘッダーに書込まれている重み値を該計算した重み値に書換える処理であることを特徴とするトラヒック監視装置。6. The traffic monitoring device according to claim 5 , wherein the violation processing in the case where the rule is not complied with is based on a rule determined in advance between the user and the communication network from a result obtained from the user's traffic observation function. A traffic monitoring apparatus comprising: calculating a matching weight value; and rewriting a weight value written in a header of the datagram with the calculated weight value. データグラムをそのヘッダーの宛先に向けて転送するデータグラム転送装置であって、いずれかの入力インターフェース部からいずれかの出力インターフェース部へ競合することなくデータグラムを転送するバックプレーン部、バックプレーン部から転送されたデータグラムを受け取り、受け取ったデータグラムからその重み値を取得し、取得した重み値に基づいて優先転送制御を行う出力インタフェース部を具えるデータグラム転送装置において、
前記出力インターフェース部は、バックプレーン部から転送されてきたデータグラムの重み値を取得する重み値取得手段と、バックプレーン部から転送されてきたデータグラムを一時的に格納するバッファメモリーと、前記重み値取得手段から重み値を受け取り、受 け取った重み値に基づいて前記バッファメモリーに溜まっているデータグラムに関するフロー情報を管理をするフロー管理手段とを具え、
前記フロー管理手段の管理情報に基づいて優先転送制御を行うことを特徴とするデータグラム転送装置。
A datagram transfer device for transferring a datagram to a destination of a header thereof, comprising: a backplane unit for transferring a datagram from any input interface unit to any output interface unit without conflict; and a backplane. receiving a datagram transferred from parts, obtains the weight value from the received datagram, the datagram transmission device comprising an output interface unit for performing priority transfer control based on the acquired weighting value,
The output interface unit includes a weight value obtaining unit configured to obtain a weight value of the datagram transferred from the backplane unit; a buffer memory that temporarily stores the datagram transferred from the backplane unit; It receives a weight value from the value obtaining means, comprising a flow management means for managing flow information relating to datagrams that are accumulated in the buffer memory on the basis of the accepted took weight value,
A datagram transfer device, wherein priority transfer control is performed based on management information of the flow management means .
請求項7に記載のデータグラム転送装置において、前記フロー管理手段は、過去所定時間内に転送したデータグラムに関するフロー情報を管理することを特徴とするデータグラム転送装置。8. The datagram transfer device according to claim 7, wherein said flow management means manages flow information on datagrams transferred within a predetermined time in the past. 請求項1乃至6のいずれか1項に記載のトラヒック観測装置から出力されたデータグラムを請求項7又は8に記載のデータグラム転送装置によりデータグラムを転送することを特徴とするデータグラム転送システム。A datagram transfer system, wherein a datagram output from the traffic observation device according to any one of claims 1 to 6 is transferred by the datagram transfer device according to claim 7 or 8. . ユーザがデータグラムを通信網に送信するために、当該データグラムが有する通信網利用の権利の強さを表す重み値をユーザー自身が決定し、通信網に流入するデータグラムのヘッダーに当該重み値を書き込む手段を具えるヘッダフィールド挿入装置と、請求項4〜6のいずれか1項に記載のトラヒック監視装置と、請求項7又は8に記載のデータグラム転送装置とによりデータグラムを転送することを特徴とするデータグラム転送システム。In order for the user to transmit the datagram to the communication network, the user himself / herself determines a weight value indicating the strength of the right to use the communication network possessed by the datagram, and the weight value is added to the header of the datagram flowing into the communication network. Transferring a datagram by means of a header field insertion device comprising means for writing the data, a traffic monitoring device according to any one of claims 4 to 6, and a datagram transfer device according to claim 7 or 8. A datagram transfer system.
JP25849599A 1999-09-13 1999-09-13 Traffic observing device, traffic monitoring device, datagram transfer device, and datagram transfer system Expired - Fee Related JP3581056B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25849599A JP3581056B2 (en) 1999-09-13 1999-09-13 Traffic observing device, traffic monitoring device, datagram transfer device, and datagram transfer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25849599A JP3581056B2 (en) 1999-09-13 1999-09-13 Traffic observing device, traffic monitoring device, datagram transfer device, and datagram transfer system

Publications (2)

Publication Number Publication Date
JP2001086157A JP2001086157A (en) 2001-03-30
JP3581056B2 true JP3581056B2 (en) 2004-10-27

Family

ID=17321012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25849599A Expired - Fee Related JP3581056B2 (en) 1999-09-13 1999-09-13 Traffic observing device, traffic monitoring device, datagram transfer device, and datagram transfer system

Country Status (1)

Country Link
JP (1) JP3581056B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050286512A1 (en) * 2004-06-28 2005-12-29 Atul Mahamuni Flow processing
JP4835934B2 (en) * 2006-12-26 2011-12-14 日本電気株式会社 High speed processing apparatus, high speed processing method, and program

Also Published As

Publication number Publication date
JP2001086157A (en) 2001-03-30

Similar Documents

Publication Publication Date Title
US7020143B2 (en) System for and method of differentiated queuing in a routing system
JP3386117B2 (en) Multilayer class identification communication device and communication device
JP3558044B2 (en) Packet transfer rate monitoring control device, method, and program
US9344369B2 (en) System and methods for distributed quality of service enforcement
US7027457B1 (en) Method and apparatus for providing differentiated Quality-of-Service guarantees in scalable packet switches
US7289514B2 (en) System and method for scheduling data traffic flows for a communication device
US6993041B2 (en) Packet transmitting apparatus
EP1069801B1 (en) Connections bandwidth right sizing based on network resources occupancy monitoring
JP3526269B2 (en) Inter-network relay device and transfer scheduling method in the relay device
US8520522B1 (en) Transmit-buffer management for priority-based flow control
US7969881B2 (en) Providing proportionally fair bandwidth allocation in communication systems
EP1069729A1 (en) Network capacity planning based on buffers occupancy monitoring
EP3955550A1 (en) Flow-based management of shared buffer resources
US20030229720A1 (en) Heterogeneous network switch
JP2004266389A (en) Method and circuit for controlling packet transfer
US20050068798A1 (en) Committed access rate (CAR) system architecture
US20060153199A1 (en) Apparatus and method for guaranteeing fairness among a plurality of subscribers in subscriber network
JP3581056B2 (en) Traffic observing device, traffic monitoring device, datagram transfer device, and datagram transfer system
US20090073878A1 (en) Usage based queuing with accounting for wireless access points
EP1458149A2 (en) System and method for scheduling data traffic flows for a communication device
KR100475783B1 (en) Hierarchical prioritized round robin(hprr) scheduling
JP3583711B2 (en) Bandwidth control device and method
JP4391346B2 (en) COMMUNICATION CONTROL METHOD, COMMUNICATION CONTROL DEVICE, CONTROL PROGRAM, AND RECORDING MEDIUM
JP2004056726A (en) Traffic volume control apparatus and traffic volume control method
Ferreira et al. Adaptive admission control in a NGN service platform

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040420

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040602

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040721

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080730

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080730

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090730

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090730

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100730

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100730

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110730

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120730

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees