ネットワークノード
【課題】 ポリシング装置が重要パケットと非重要パケットの帯域をまとめて監視し、ある監視帯域分のパケットを遵守と判定している時に、重要および非重要パケットのうち遵守と判定されるパケットの帯域を制御できない。
【解決手段】 テーブル550は、監視帯域と、重要度毎のパケット履歴情報と、重要度毎の監視帯域の分配比重を蓄積している。パケット入力時には、ポリシングテーブル制御回路561はこれらの情報をポリシング部141の各蓄積手段に読みだし、判定回路511はこれらの情報に基づいて、入力パケットの遵守/違反を判定する。本発明のポリシング装置は重要度毎のパケット履歴情報と、監視帯域および分配比重から得られる分配帯域に基づいて遵守/違反判定できるため、各重要度の帯域を制御できる。
【解決手段】 テーブル550は、監視帯域と、重要度毎のパケット履歴情報と、重要度毎の監視帯域の分配比重を蓄積している。パケット入力時には、ポリシングテーブル制御回路561はこれらの情報をポリシング部141の各蓄積手段に読みだし、判定回路511はこれらの情報に基づいて、入力パケットの遵守/違反を判定する。本発明のポリシング装置は重要度毎のパケット履歴情報と、監視帯域および分配比重から得られる分配帯域に基づいて遵守/違反判定できるため、各重要度の帯域を制御できる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークに流入するパケットの帯域を監視するポリシング装置に関する。
【背景技術】
【0002】
インターネットユーザの増加に伴い、インターネットを流れるトラヒックが急増している。インターネットでは、多数のユーザからのパケットが同じ回線を共用するため、専用の網で実現していた電話網や企業網に比べて帯域あたりのコストが低くなる。この低コスト性のため、電話網や企業網をインターネットで統合して、通信コストの低減を実現しようという動きが出てきた。これらを統合するためには、従来の専用網と同様の帯域保証が必要となる。
【0003】
帯域保証を行うサービスの一例であるVBR.2 (Variable Bit Rate.2)サービスが、The ATM Forum Specification version 4.0(以下「従来技術1」という)の4.5章に記載されている。本サービスでは、契約者とサービス提供者間で平均帯域(SCR:Sustainable Cell Rate) および最大帯域(PCR:Peak Cell Rate)が契約される。契約者は、セルヘッダ内の廃棄優先度:CLP(Cell Loss Priority)を優先(=”0”:廃棄が発生しにくい)または非優先(=”1”:廃棄が発生し易い)と設定してセル送信する。本ネットワーク入口のポリシング機能はCLPが”0”のセルを平均帯域で監視し、違反セルを廃棄するか、CLPを”1”に書き換える。また、CLPが”0”と”1”のセルを最大帯域で監視し、違反セルを廃棄する。本ネットワークのノードが輻輳時にCLP=1のセルをCLP=0のセルより優先的に廃棄することで、本ネットワークはCLPが”0”のセルの平均帯域を保証することができる。なお、ATMのポリシング機能はUPC(Usage Parameter Control)と呼ばれるが本願では、「ポリシング機能」に統一する。
【0004】
ATMのポリシング機能の監視アルゴリズム:ContinuousState Leaky Bucket Algorithm(以下リーキーバケットアルゴリズム) は、従来技術1の4.4.2章に記載されている。リーキーバケットアルゴリズムはある容量を持った穴の空いた漏れバケツのモデルで表され、バケツに水が入っている間は監視帯域に比例した量の水が漏れ、セル到着時にはバケツに1セル分の水が注ぎ込まれる。セルの到着揺らぎやバーストを許容するためにバケツに容量を持ち、バケツが溢れないうちは入力セルを遵守と、溢れると違反と判定する。リーキーバケットアルゴリズムのフローチャートを図17に示す。セルが時間taに到着すると(ステップ1701)、前回遵守と判定されたパケットの到着時刻:LCTとの差分(バケツから漏れる水量に対応)が計算される。この値をカウンタ値:X(バケツの蓄積量に対応)から減算したX'が計算され (ステップ1702)、X'が負の場合にはX'が”0”に修正される(ステップ1704)。X'とリミット:L(バケツの容量に対応)との比較が行われ (ステップ1705)、X'≧Lの場合に入力セルは違反と判定される(ステップ1706)。X'<Lの場合に遵守と判定され、X'に監視帯域より決まる固定値:I(1セル分の水量に対応)を加えた値がXとして保存される(ステップ1707)。なお、最初のセルが到着した時に、X=0、LCTは該セルの到着時刻に初期化される。
【0005】
従来技術1の前記VBR.2サービスにおいては平均帯域を有効利用できない問題が知られている。従来技術1を適用したポリシング機能はCLP=0のセルを帯域監視し、平均帯域以内と判定したセルをCLP=0のまま送信し、CLP=0のセルが平均帯域以下の場合でもCLP=1のセルをCLP=0のセルとして送信しない。すなわち、CLP=0のセルが平均帯域以下の場合、契約者は平均帯域を全て使い切ることができない。契約者が送信するCLP=0と1のセルの帯域時間変化の一例を図16(a)に((網掛け部分がCLP=0、白色部分がCLP=1))、ポリシング機能通過後の各セルの帯域時間変化を図16(b)に示す(斜線部分がCLP=0)。時間t0においては、CLP=0のセルが平均帯域以内であるにも関わらず、CLP=1のセルがそのままCLP=1のセルとして送信される。
【0006】
本課題を解決するポリシング機能が、特開2000−349812号公報(以下「従来技術2」という)に記載されている。従来技術2では、契約者とサービス提供者間で契約帯域が取り決められ、さらに、契約者は重要なパケット(以下、重要パケット)とそれ以外の非重要パケットの識別方法をサービス提供者に対して通知しておく。従来技術2のポリシング機能は、受信パケットの重要度を考慮して帯域監視を行い、遵守と判定したパケットを優先パケットと、それ以外を非優先パケットと判定する。この時、重要パケットの帯域が契約帯域未満の場合には、非重要パケットも優先パケットと判定する。このため、契約者の送信する総帯域が契約帯域以上であれば、契約者は全契約帯域を使い切ることができる。
【0007】
さらに、従来技術2は上記帯域監視を実現するリーキーバケットアルゴリズムの拡張方法に関しても記載している。従来技術2を適用したポリシング機能はリーキーバケットアルゴリズムを可変長パケット向けに拡張したアルゴリズムを使用する。優先パケット用のリミット:L-Aと非優先パケット用のリミット:L-Bを備え、L-A > L-Bとすることで、重要パケットを優先的に優先パケットと判定しながら、重要パケットが監視帯域未満の場合には、非重要パケットも優先パケットと判定する。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2000−349812号公報
【非特許文献】
【0009】
【非特許文献1】The ATM Forum Specification version 4.0
【発明の概要】
【発明が解決しようとする課題】
【0010】
従来技術2では、各契約者に割り当てられた契約帯域を優先パケットに優先的に分配し、契約帯域が余った場合にのみ非優先パケットに割り当てる完全優先的な分配に関して記載されている。従来技術2では、重要パケットの帯域が契約帯域を超えてしまうと、非重要パケットの中で優先と判定されるパケットは”0”となってしまう。しかし、契約者によっては、非重要パケットに対する最低限の帯域を確保することが求められる。そのため、ポリシング装置は契約帯域を柔軟に重要パケットと非重要パケットに分配することが必要である。
【0011】
これまで、一契約者内に複数の重要度がある場合について考えたが、一契約者内に複数の組織、例えば、企業であれば研究・開発部門、製造部門、営業部門等が存在する場合がある。この場合、各契約者の帯域保証と同時に、各部門に対する帯域保証が求められる。従来技術2を適用したポリシング機能は各契約者に割り当てられた契約帯域を各部門に完全優先的に分配するため、ある部門の優先パケットが”0”となる場合がある。従来技術1においても、本課題を解決する方法に関しては記載されていない。
【0012】
本願の目的は、以上の課題を解決するために、各契約者に割り当てられた契約帯域を柔軟に各重要度または各部門のパケットに分配するポリシング機能を提供することである。
【課題を解決するための手段】
【0013】
前述した課題を解決するために、本発明のポリシング装置は入力パケットのヘッダ情報のうち少なくとも一つの情報からパケットの属するフローと前記フロー内の重要度または部門を検出して、前記フローの識別子であるフロー識別子と前記重要度または部門の識別子である重要度・部門識別子を判定するフロー検出手段を備える。さらに、前記フロー用の監視帯域を記載した監視帯域情報と、重要度または部門毎の分配比重と、パケットの到着履歴を表すパケット到着履歴情報を備えたエントリをフロー識別子毎に持つ帯域監視テーブルを備える。パケット入力時には、監視結果判定部は該パケットのフロー識別子に対応する前記エントリ内の情報を参照して該パケットの遵守/違反を判定する。
【0014】
本発明のポリシング装置は重要度または部門毎のパケット到着履歴と、監視帯域情報と分配比重より得られる各重要度または部門への分配帯域に基づき帯域監視できるため、各重要度または部門の帯域を制御することが可能である。例えば、パケット到着履歴情報が、過去1秒に受信した各重要度または部門のバイト数である場合、このバイト数と各重要度または部門の分配帯域を単純に比較すれば良い。一方、従来技術2のポリシング装置は、パケット到着履歴情報に対応するカウンタ値Xを各フローに一つしか備えることができないため、重要度または部門毎の帯域を制御することができなかった。
【0015】
また、別のポリシング装置は、入力パケットのヘッダ情報のうち少なくとも一つの情報からパケットの属するフローと前記フロー内の重要度または部門を検出して、前記フローの識別子であるフロー識別子と前記重要度または部門の識別子である重要度・部門識別子を判定するフロー検出手段を備える。さらに、前記フローの監視帯域情報と、前記フロー内の一つの重要度または部門の分配比重と、パケット到着履歴情報を備えたエントリをフロー識別子毎、かつ重要度または部門毎に持つ帯域監視テーブルを備える。パケット入力時には、監視結果判定部が、該パケットのフロー識別子に対応する全エントリ内の情報に基づいて遵守/違反を判定する。本発明のポリシング装置は重要度または部門毎のパケット到着履歴と、監視帯域情報と分配比重より得られる各重要度または部門への分配帯域に基づき帯域監視できるため、各重要度または部門の帯域を制御することが可能である。
【0016】
上記以外の本願が解決しようとする課題、その解決手段は、本願の「発明を実施するための最良の形態」の欄および図面で明らかにされる。
【発明の効果】
【0017】
本発明を適用したポリシング装置は、複数の重要度の帯域をまとめて監視し、ある監視帯域分のパケットを遵守と判定している時に、優先パケットの帯域の重要度間比率を制御することができる。このため、前記ポリシング装置は全重要度への優先パケットの帯域を確保できる。例えば。重要パケットと非重要パケットの分配比重をそれぞれ2、1とすると、それぞれのパケットに対して、契約帯域の2/3、1/3分の帯域を確保できる。
【0018】
また、本発明を適用したポリシング装置は、複数の部門の帯域をまとめて監視し、ある監視帯域分のパケットを遵守と判定している時に、優先パケットの帯域の部門間比率を制御することができる。このため、前記ポリシング装置は全部門への優先パケットの帯域を確保できる。
【図面の簡単な説明】
【0019】
【図1】本発明のポリシング部141の構成を示すブロック図。
【図2】本発明が想定するネットワーク構成。
【図3】VPNサービス網におけるパケットのフォーマットを示す図。
【図4】本発明のノードにおけるパケットのフォーマットを示す図。
【図5】本発明のノードの構成を示すブロック図。
【図6】ポリシングテーブル550のフォーマットを示す図。
【図7】本発明を適用したポリシング部141のフローチャートの前半部分。
【図8】本発明を適用したポリシング部141のフローチャートの後半部分。
【図9】本発明を適用したポリシング結果判定部920の構成を示すブロック図。
【図10】本発明を適用したバケツ蓄積量判定部910の構成を示すブロック図。
【図11】ポリシングテーブル1150のフォーマットを示す図。
【図12】バケツ蓄積量判定処理1210のフローチャート。
【図13】ポリシング結果判定処理1220、優先度判定処理1230、ポリシング終了処理1240のフローチャート。
【図14】ポリシングテーブル1450のフォーマットを示す図。
【図15】(a)企業網A210-1が送信している重要パケットと非重要パケットの帯域時間変化を示す図。 (b)従来技術2を適用した際の優先パケットと非優先パケットの帯域時間変化を示す図。 (c)本発明を適用した際の優先パケットと非優先パケットの帯域時間変化を示す図。
【図16】(a)CLP=0とCLP=1セルの帯域時間変化を示す図。 (b)従来技術1を適用した際のCLP=0とCLP=1セルの帯域時間変化を示す図。
【図17】リーキーバケットアルゴリズムのフローチャート。
【図18】管理端末150にて入力されるコマンドの一例を示す図。
【発明を実施するための形態】
【0020】
まず、図2を用いて本発明が想定するネットワーク構成について説明する。図2のネットワークでは、企業Aの企業網A-1 210-1、企業網A-2 210-2が、キャリアが提供するVPN(Virtual Private Network)サービス網200によって接続されている。同様に、企業Aとは別の企業Bの企業網B-1 220-1、企業網B-2 220-2が接続されている。VPNサービス網200はエッジに位置するエッジノードA 202、エッジノードB 203と、コアに位置するバックボーンノード201より構成され、また、各企業網のVPNサービス網200への出入口にはゲートウェイノードA1 211-1、ゲートウェイノードA2 211-2、ゲートウェイノードB1 221-1、ゲートウェイノードB2 221-2が配置されている。
【0021】
企業サイトの接続サービスを提供するキャリアと企業網A-1/A-2の管理者間では、企業網A-1から企業網A-2に転送するパケットの帯域(以下、契約帯域と呼ぶ)が契約されている。エッジノードA 202はゲートウェイノードA1 211-1より受信するパケットの帯域を計測し、契約帯域以内と判定したパケットを優先パケットと、また契約帯域外と判定したパケットを非優先パケットとしてバックボーンノード201に送信する。バックボーンノード201およびエッジノードB 203が優先パケットを優先的に企業網A-2 210-2まで転送することで、VPNサービス網200は企業網A-1とA-2間の契約帯域を保証する。企業網A-1/A-2の管理者は予め、企業Aにとって重要なパケット(以下、重要パケットと呼ぶ)とそれ以外のパケット(以下、非重要パケットと呼ぶ)を識別する条件をキャリアに申告しておき、エッジノードA 202は本条件に基づいて入力パケットの重要度を検出し、該重要度に基づいて帯域監視を行う。本実施例では、企業網Aの管理者は、企業網A-1 210-1内の特定IPアドレスを備えた端末が送信するパケットを重要パケットと、それ以外のパケットを非重要パケットと申告しているとする。
【0022】
本発明のポリシング機能を備えるノードの概要動作を図3乃至図5を用いて説明する。図5は本発明のノード100を示す。本実施例では、本発明のノード100はVPNサービス網200のエッジノードA 202として使用され、企業網A-1 210-1の送信するパケットの帯域を監視しているとする。ノード100はNの入力回線101-i(i=1〜N)、出力回線102-i、インターフェース部120-iと、インターフェース部120-iを結合するパケット中継処理手段110より構成される。インターフェース部120はパケットの受信処理を行うパケット受信回路160と、帯域監視を行いVPNサービス網200内の転送優先度を判定し、さらに、ルーティングテーブルの検索を行ってパケットを出力する回線の識別番号:出力回線番号を判定するヘッダ処理部140と、受信したパケットを蓄積する受信側バッファ130と、パケット中継処理手段110より受信したパケットを蓄積する送信側バッファ131と、送信側バッファ131よりパケットを読みだして、送信処理を行うパケット送信回路161から構成される。
【0023】
図3は企業網AおよびVPNサービス網200におけるパケットフォーマットの一例を示す。本フォーマットはヘッダ部310とデータ部320から構成される。ヘッダ部310はネットワーク層の送信元アドレス(送信端末のアドレス)である送信元IPアドレス(Source IP Address:以下「SIP」という。)311と、宛先アドレス(受信端末のアドレス)である宛先IPアドレス(Destination IP Address:以下「DIP」という。)312と、プロトコル(=上位アプリケーション)を表す送信元ポート(Source Port:以下「SPORT」という。)313と宛先ポート(Destination Port:以下「DPORT」という。)314とネットワーク層の転送優先度を表すDSCP(Diffserv Code Point)315と、データリンク層の送信元アドレスである送信元MACアドレス(Source MAC Address:以下「SMAC」という。)316と、宛先アドレスである宛先MACアドレス(Destination MAC Address:以下「DMAC」という。)317と、データリンク層の転送優先度を表すイーサ優先度(User Priority:以下「UPRI」という。)318から構成される。また、データ部320はユーザデータ321から構成される。
【0024】
図4は本発明のノード100内部のパケットフォーマット例を示す。本フォーマットは前述のフォーマットに内部ヘッダ部330が備わる。この内部ヘッダ部330はパケットのバイト長を表すパケット長331とパケットが入力した回線の識別番号である入力回線番号332と、パケットを出力する回線の識別番号である出力回線番号333から構成される。
【0025】
パケットが入力回線101より入力するとパケット受信回路160は内部ヘッダ部330を付加し、該パケットのバイト長をカウントしてパケット長331に、パケットが入力した入力回線101の入力回線番号を入力回線番号332に書き込む。さらに、本パケットを一旦蓄積すると同時に、出力回線番号333を除く内部ヘッダ部330とヘッダ部310内の情報をパケットヘッダ情報11としてヘッダ処理部140に送信する。
【0026】
ヘッダ処理部140のポリシング部141は帯域監視を行ってネットワーク内の転送優先度であるDSCPやイーサ優先度を判定し、パケット優先度情報12としてパケット受信回路160に送信する。ヘッダ処理部140のルーティング処理部142は前記パケットヘッダ情報11内のDIP312またはDMAC317に対応する情報より出力回線番号を判定し、パケット出力回線情報13としてパケット受信回路160に送信する。なお、ノード100がルータの場合はDIP312を、スイッチの場合はDMAC317を使用する。
【0027】
パケット受信回路160はパケット優先度情報12内のDSCPとイーサ優先度を蓄積パケットのDSCP315とUPRI318に書き込み、また、パケット出力回線情報13内の出力回線番号を出力回線番号333に書き込んで、蓄積パケットを受信側バッファ130へ送信する。
【0028】
受信側バッファ130は廃棄閾値132を備え、DSCP315またはUPRI318の値に基づいてバッファ蓄積制御を実行する。バッファ蓄積制御では、使用する転送優先度であるDSCP315またはUPRI318が優先パケットを表す場合、受信側バッファ130は受信側バッファ130に空きが有るとパケットを蓄積し、空きがないとパケットを廃棄する。一方、非優先パケットを表す場合、前記廃棄閾値132以下しかパケットが蓄積されていない場合はパケットを蓄積するが、前記廃棄閾値132を越えてパケットが蓄積されていると受信側バッファ130に空きが有ってもパケットを廃棄する。このバッファ蓄積制御により、ノード100は優先パケットの通信品質を実現する。
【0029】
パケット中継手段110は受信側バッファ130内のパケットを読みだし、出力回線番号333の値に対応するインターフェース部120に該パケットを転送する。該パケットを受信した送信側バッファ131は受信側バッファ130と同様のバッファ蓄積制御を行う。パケット送信回路161は受信側バッファ130からパケットを読みだし、内部ヘッダ部330を削除し、出力回線102に該パケットを送信する。
【0030】
次に、図1、図6、図7、図8を用いて本発明のポリシング部141の詳細動作について説明する。本発明のポリシング部141は帯域監視アルゴリズムとしてリーキーバケットアルゴリズムを可変長パケットの帯域監視用に拡張したアルゴリズムを使用する。図1にポリシング部141のブロック図を示す。ポリシング部141はバケツ蓄積量判定部510と、ポリシング結果判定部520と、優先度判定部530と、フロー検出部540と、ポリシングテーブル550と、ポリシングテーブル制御部560より構成される。
【0031】
フロー検出部540はルータまたはスイッチ固有の機能部である。ATMネットワークにおいては、予めコネクションが設定され、ATMネットワーク内のATM交換機は入力セルのコネクション識別子に対応するポリシング制御情報を読みだし、その情報を用いて帯域監視を実行する(コネクション型通信)。一方、インターネットに代表されるIPネットワークにおいては、予めコネクションが設定されない。そのため、IPネットワークに置かれるルータやスイッチはフロー検出手段を備え、入力パケット毎にヘッダ内の情報等により前記コネクション識別子の代わりのフロー識別子を判定する必要がある(コネクションレス型通信)。ルータは前記フロー識別子に対応するポリシング制御情報を読みだし、本情報を用いて帯域監視を実行する。なお、本願では、特定のヘッダ内の情報等が同一である一連のパケットをフローと呼ぶ。
【0032】
図6にポリシングテーブル550のフォーマットを示す。ポリシングテーブル550はM個のポリシング制御情報600-j (j=1〜M)を所持する。ポリシング部141は一つの前記ポリシング制御情報600-jにより一フローの帯域監視を行う。本実施例では一つのポリシング制御情報600-jにより、企業網A-1 210-1がVPNサービス網200に送出する全パケットを契約帯域で監視する場合を説明する。ポリシング制御情報600-jは重要パケット用のバケツの容量THR-A601-j(Byte) (Threshold-A)と、非重要パケット用のバケツの容量THR-B602-j (Byte)(Threshold-B)と、バケツが漏れる速度であり監視帯域を表すPOLR603-j(Byte/sec)(Policing Rate)と、同一のポリシング制御情報600-jを参照するパケットが前回到着した時刻:TS604-j(sec)(Time Stamp)と、前パケットの帯域監視直後にバケツに蓄積されていた重要パケットの水量:CNT-A605-j(Byte)(Count-A)および非重要パケットの水量:CNT-B606-j(Byte)(Count-B)と、帯域監視で「遵守」と判定され優先パケットとして転送される際の転送優先度であるPRIC607-j(Priority Conformance)と、「違反」と判定され非優先パケットとして転送される際の転送優先度であるPRIN608-j(Priority non-Conformance)と、重要パケットと非重要パケットの契約帯域の分配比重W-A 609-j(Weight-A)、W-B 610-j (Weight-B)より構成される。なお、PRIC607-jとPRIN608-j内の優先度としてDSCPとイーサ優先度が記載されている。
【0033】
従来技術2では、バケツを一つ備えれば良いため、バケツの水量:CNTは一つ有れば良かったが、本発明のポリシング部141は重要パケット用と非重要パケット用のバケツを備えるため、各パケット用の二つの水量:CNT-A605-j、CNT-B606-jとバケツの容量THR-A601-j、THR-B602-jを備える。図7にポリシング部141のフローチャートの前半部分を、図8に後半部分を示す。ポリシング部141の処理はポリシング開始処理700、バケツ蓄積量判定処理710、ポリシング結果判定処理720、優先度判定処理730、ポリシング終了処理740より構成される。710、720、730の3処理はそれぞれバケツ蓄積量判定部510と、ポリシング結果判定部520と、優先度判定部530が主に実行する。
【0034】
ポリシング部141がパケットヘッダ情報11を受信すると、ポリシング結果判定部520のパケット長蓄積手段522はパケット長331に対応する情報を、フロー検出部540はSIP311、DIP312、SPORT313、DPORT314、DSCP315、SMAC316、DMAC317、UPRI318と入力回線番号332に対応する情報を蓄積する(ステップ701)。ステップ702では、フロー検出部540は蓄積された情報に基づいてフロー検出を行って入力パケットを送信した契約者の識別子である契約者識別子および入力パケットの重要度であるフロー重要度を判定し、前記契約者識別子から構成される契約者情報14をポリシングテーブル制御部560のポリシングテーブル制御回路561へ、前記フロー重要度から構成されるフロー重要度情報17をポリシング結果判定部520のフロー重要度蓄積手段525へ送信する。
【0035】
契約者(本実施例の場合、企業A)の識別に関しては、例えば、フロー検出部540が、受信パケットが入力した回線の番号である入力回線番号332によって契約者を識別しても良い。また、各企業が該企業に属する端末のIPアドレスをVPNサービス網200の管理者に申告しておけば、IPアドレスにより契約者を判定できる。重要度の識別に関しては、各企業の管理者が特定IPアドレスの端末が送信するパケットを重要パケットと、それ以外のパケットを非重要パケットと申告している本実施例の場合、フロー検出部540はSIP311に対応する情報から重要度を判定する。
【0036】
ポリシングテーブル制御回路561は前記契約者情報14からポリシングテーブル550のアドレスを作成し、ポリシング制御情報600-jを読みだす。読みだされたTHR-A601-jとTHR-B602-jの値をポリシング結果判定部520のTHR-A蓄積手段523とTHR-B蓄積手段524が、POLR603-jとTS604-jとCNT-A605-jとCNT-B606-jの値をバケツ蓄積量判定部510のそれぞれPOLR蓄積手段513、TS蓄積手段514、CNT-A蓄積手段515、CNT-B蓄積手段516が、W-A609-jとW-B610-jの値を帯域割り当てポリシー蓄積手段517が、PRIC607-jとPRIN608-j内の遵守/違反時のDSCPとイーサ優先度をそれぞれ優先度判定部530のPRIC蓄積手段532とPRIN蓄積手段533が蓄積する(ステップ703)。
【0037】
バケツ蓄積量判定処理710では、バケツ蓄積量判定部510はパケット入力直前のバケツ水量(バケツ蓄積量)を判定する。まず、バケツ蓄積量判定回路511は現時刻を示すタイマー512の値とTS蓄積手段514内の前パケットの到着時刻との差分を計算し、前パケット到着からの経過時間を計算する(ステップ711)。次に経過時間にPOLR蓄積手段513内の値を乗じて、前パケット到着から漏れた水の量(減少水量)を計算する(ステップ712)。
【0038】
バケツ蓄積量判定回路511は帯域割り当てポリシー蓄積手段517に蓄積されている契約帯域の分配比重に基づいてCNT-AおよびCNT-Bから減算すべき水量を判定する。ステップ712では計算した減少水量をW-A:W-Bに分配した仮の減少水量:DEC-AとDEC-Bを計算する(ステップ713)。ここで「仮の」と記載したのは、CNT-AとCNT-Bの値がそれぞれDEC-AとDEC-Bより小さい場合、DEC-AとDEC-Bは実際の減少水量とならないためである。以降のステップ714〜716では、CNT-A、CNT-BとDEC-A、DEC-Bの大小関係に基づいて、減少水量減算後のCNT-A、CNT-Bの値:CNT-A’、CNT-B’を計算する。まず、ステップ714およびステップ715にてこの大小関係に基づきステップ716-1〜716-4に分岐する。ステップ716-1はCNT-A≧DEC-AおよびCNT-B≧DEC-Bのケースである。
【0039】
この際、新規CNT-A、CNT-Bの値:CNT-A’、CNT-B’をそれぞれCNT-A−DEC-A、CNT-B−DEC-Bとする。ステップ716-2はCNT-A≧DEC-AおよびCNT-B<DEC-Bのケースである。CNT-BはDEC-Bを減算すると負となるため、CNT-B'は0とする。この時、CNT-A より減算できなかったDEC-B−CNT-B分の水量をCNT-Aより減算することができる。よって、CNT-A’の値としてCNT-A−DEC-A−(DEC-B−CNT-B)と0のうちで大きな値を選択する。同様にステップ716-3ではCNT-A'を0 と、CNT-B’をCNT-B−DEC-B−(DEC-A−CNT-A)と0のうち、より大きな値とする。ステップ716-4はCNT-A<DEC-AおよびCNT-B<DEC-Bのケースであり、CNT-A’、CNT-B’共に0 とする。これまで、W-Bが正の場合を考えてきたが、W-Bを”0”とすると、重要パケットに完全優先的に契約帯域を分配することができる。このようなW-A、W-Bに基づいた減少水量の分配処理は本発明固有の処理である。
【0040】
ポリシング結果判定処理720では、ポリシング結果判定部520のポリシング結果判定回路521はバケツ蓄積量判定部510が判定した水量が、入力パケットの重要度に応じたバケツ閾値に収まるか否かを判定する。まず、フロー検出部540が送信しているフロー重要度情報17をフロー重要度蓄積手段525に蓄積する。この蓄積情報に基づき検索処理は分岐する(ステップ721)。前記蓄積情報が「重要」の場合にはTHR-A蓄積手段523に蓄積されている重要パケット用のバケツの容量THR-AとCNT-A’の大小比較を行う(ステップ722-1)。
【0041】
CNT-A’≦THR-Aであってバケツが溢れない場合には、入力パケットを遵守パケットと判定し、「遵守」を表示したポリシング結果情報15を優先度判定回路531とポリシングテーブル制御回路561に送信する(ステップ723-1) 。また、さらに、次パケット到着時に使用する重要および非重要パケット用の水量:CNT-A”、CNT-B”をそれぞれパケット長蓄積手段内のパケット長+CNT-A’、CNT-B’と判定し、ポリシングテーブル制御回路561にバケツ蓄積量情報16として送信する(ステップ724-1)。CNT-A’>THR-Aであって、バケツが溢れている時には、入力パケットを違反パケットと判定して「違反」を表すポリシング結果情報15を優先度判定回路531とポリシングテーブル制御回路561に送信する(ステップ723-2)。また、CNT-A”、CNT-B”をそれぞれCNT-A’、CNT-B’と判定し、ポリシングテーブル制御回路561にバケツ蓄積量情報16として送信する(ステップ724-2)。
【0042】
一方、ステップ721の参照結果が非重要の場合にはTHR-B蓄積手段524に蓄積されている非重要パケット用のバケツの容量THR-BとCNT-B’の大小比較を行う(ステップ722-2)。CNT-B’≦THR-Bの時には、入力パケットを遵守パケットと判定し、「遵守」を表示したポリシング結果情報15を優先度判定回路531とポリシングテーブル制御回路561に送信する(ステップ723-3)。また、CNT-A”、CNT-B”をそれぞれCNT-A'、 パケット長蓄積手段522内のパケット長+CNT-B'と判定し、ポリシングテーブル制御回路561にバケツ蓄積量情報16として送信する(ステップ724-3)。CNT-B’>THR-Bであって、バケツが溢れてしまう状態の時には、入力パケットを違反パケットと判定して「違反」を表すポリシング結果情報15を優先度判定回路531とポリシングテーブル制御回路561に送信する(ステップ724-3)。また、CNT-A”、CNT-B”をそれぞれCNT-A’、CNT-B’と判定し、ポリシングテーブル制御回路561にバケツ蓄積量情報16として送信する(ステップ724-4)。
【0043】
優先度判定処理730では、優先度判定部530はポリシング結果情報15に基づいて優先度を判定する。優先度判定回路531はポリシング結果情報15が「遵守」の場合、PRIC蓄積手段532内のDSCPとイーサ優先度を入力パケットのDSCPとイーサ優先度と判定し、前記優先度より構成されるパケット優先度情報12をパケット受信回路160に送信する(ステップ731)。「違反」の場合、PRIN蓄積手段533内のDSCPとイーサ優先度を入力パケットのDSCPとイーサ優先度と判定し、前記判定情報より構成されるパケット優先度情報12 をパケット受信回路160に送信する(ステップ732)。ポリシング終了処理740では、ポリシングテーブル制御回路561がバケツ蓄積量情報16内のCNT-A”、CNT-B”とタイマー512の値を、契約者情報14に対応するポリシング制御情報600-jのCNT-A 605-j、CNT-B 606-jとTS604-jに書き込み(ステップ741)、帯域監視を終了する(ステップ742)。
【0044】
VPNサービス網200の管理者はノード100外部の管理端末150を用いて帯域監視に関する情報をノード100に設定する。管理端末150に入力されるコマンドの一例を図18に示す。このコマンドの181、182には非重要パケットのSIPとDIPが、183、184には重要パケットのSIPとDIPが設定される。また、185、186、187には監視帯域と優先・非優先パケットの優先度が設定され、188、189には非重要パケットの分配比重Wとバケツの容量THRが、190、191には重要パケットの分配比重Wとバケツの容量THRが設定される。図18のコマンドは送信端末のIPアドレスが10.10.10.1と10.10.10.2の送信端末が送信したパケットの帯域を100Mbpsで監視し、優先パケットおよび非優先パケットの優先度(DSCPまたはイーサ優先度)を1および2と判定する帯域監視を行う際のコマンドである。さらに、10.10.10.1の端末が送信する非重要パケットが200kByteのバケツで、10.10.10.2の端末が送信する重要パケットが、300kByteのバケツで監視される。また、優先パケットと非優先パケットの分配比重はそれぞれ2と1である。本コマンドを受けたプロセッサ170は181から184の情報をフロー検出部540に、また185から191の情報をエントリ600のそれぞれPOLR603、PRIC607、PRIN608、W-B610、THR-B602、W-A609、THR-A601に設定する。なお、TS604、CNT-A605、CNT-B606は” 0”に初期化する。
【0045】
図15を用いて本発明を適用したノード100の効果を説明する。図15(a)はノード100に入力するパケットの帯域時間変化の例を示す。ここで、網掛け部分が重要パケットの帯域を
、白い部分が非重要パケットの帯域を表している。従来技術2を適用したポリシング機能を使用して図15(a)のトラヒックを監視した場合の優先パケットと非優先パケットの帯域時間変化を図15(b)に示す。斜線部が優先パケット、それ以外の斜線がない部分が非優先パケットである。重要パケットが優先的に契約帯域以内のパケットと判定され、時間t1では非重要パケットは常に非優先パケットとなってしまう。
【0046】
本発明を適用したポリシング機能を使用して図15(a)に示すトラヒックを監視した場合の優先パケットと非優先パケットの帯域時間変化を図15(c)に示す。W-AとW-Bはそれぞれ2と1である。重要パケットの入力帯域が契約帯域の2/3以下の場合には、余剰契約帯域分の非重要パケットが優先パケットと判定される(時間t2)。一方、重要パケットの入力帯域が契約帯域の2/3以上の場合には、契約帯域の2/3分は優先パケットと判定されるが、残りの1/3は非重要パケットの帯域として確保される。すなわち、非重要パケットの帯域が契約帯域の1/3以上である場合には、契約帯域の1/3分の非重要パケットが優先パケットと判定され、契約帯域の1/3以上である場合には、全非重要パケットが優先パケットと判定される(時間t3)。以上に説明したように、本発明を適用したポリシング装置は、重要パケットに優先的に契約帯域を割り当てながら、非重要パケットの帯域も確保することができる。
【0047】
以上の実施例では、重要度が違う二種のパケットが存在する場合について説明した。重要度の識別法と重要度毎の分配比重の代わりに、企業A内の二部門の識別法と各部門の分配比重をVPNサービス網200の管理者に申告しておけば、部門間の契約帯域分配を制御することが可能である。しかし、実際の企業においては、三部門以上が存在する場合も考えられる。以下の実施例では、部門数が増加した場合の例として、契約帯域を四部門が共有している場合のポリシング部について説明する。
【0048】
この場合のポリシングテーブル1150のフォーマットを図11に示す。本テーブルの各エントリ1100-jはポリシングテーブル550のエントリ600-jのTHR-A 601-j、THR-B 602-jの代わりに、THR-1 1101-j、THR-2 1102-j、THR-3 1103-j、THR-4 1104-jを備える。さらに、CNT-A 605-j、CNT-B 606-jの代わりにCNT-1 1105-j、CNT-2 1106-j、CNT-3 1107-j、CNT-4 1108-jを、また、W-A 609-j、W-B 610-jの代わりにW-1 1109-j、W-2 1110-j、W-3 1111-j、W-4 1112-jを備える。これに伴い、図9に示す本実施例のポリシング結果判定部920はTHR-A 蓄積手段523、THR-B蓄積手段 524の代わりにTHR-1蓄積手段923、THR-2蓄積手段924、THR-3蓄積手段925、THR-4蓄積手段926を備える。また、図10に示す本実施例のバケツ蓄積量判定部910はCNT-A 蓄積手段515、CNT-B 蓄積手段516の代わりにCNT-1 蓄積手段915、CNT-2 蓄積手段916、CNT-3 蓄積手段917、CNT-4 蓄積手段918を備える。
【0049】
帯域監視の各処理は以下の様に変わる。ポリシング開始処理700のステップ702では、フロー検出部540は企業A内の各部門の識別子を、予め契約者により申告された部門の識別方法に基づき検出し、結果をフロー重要度蓄積手段927にフロー重要度情報17として送信する。部門の識別に関しては、例えば、企業網Aの管理者が、各部門が所有する端末のIPアドレスをキャリアに申告し、フロー検出部540は送信元IPアドレスから部門を判定すれば良い。ステップ703では読みだされたTHR-1 1101-j、THR-2 1102-j、THR-3 1103-j、THR-4 1104-j、CNT-1 1105-j、CNT-2 1106-j、CNT-3 1107-j、CNT-4 1108-jを、それぞれTHR-1蓄積手段923、THR-2蓄積手段924、THR-3蓄積手段925、THR-4蓄積手段926およびCNT-1 蓄積手段915、CNT-2 蓄積手段916、CNT-3 蓄積手段917、CNT-4 蓄積手段918が蓄積する。また、W-1 1109-j、W-2 1110-j、W-3 1111-j、W-4 1112- jを帯域割り当てポリシー蓄積手段919が蓄積する。
【0050】
バケツ蓄積量判定処理710の代わりに行うバケツ蓄積量判定処理1210のフローチャートを図12に示す。ステップ1211, 1212はそれぞれステップ711, 712と同様の処理である。その後、バケツ蓄積量判定回路1011は帯域割り当てポリシー設定手段919内の部門毎の帯域比重W-1、W-2、W-3、W-4に基づき、CNT-1、CNT-2、CNT-3、CNT-4から減算すべき仮の減少水量:DEC-I(I=1〜4)を計算する(ステップ1213)。ステップ1214以下の処理はDEC-IとCNT-Iの大小関係に応じて、パケットが入力する直前の水量:CNT-I’を計算する処理である。まず、ステップ1214では仮にCNT-I=CNT-I’とし、それぞれのCNT-I’が水量の減算対象であることを示すACT-I(active-I)を1に初期化する(ステップ1214)。
【0051】
次に、企業内の部門番号Iを”1”に初期化する。このIはステップ1217〜1222のルーティン処理を行うために用いられる。次のステップ1216では余剰帯域R(bit/s)を”0”に初期化する。Rは各部門の余剰帯域(CNT-I−DEC-I)の総和である。ステップ1217ではACT-Iが1か否かで処理が分岐する。ACT-Iが0であってCNT-Iから減算する必要がない場合には水量の減算を行わず、部門番号IをI+1とする (ステップ1221)。一方、ACT-Iが1の場合、CNT-I'からDEC-I全てを減算できるか否かを判定する(ステップ1218)。CNT-I'<DEC-I場合には、CNT-I'=0(ステップ1219-2)とし、Rに余剰帯域分(DEC-I−CNT-I)を加算し、ACT-Iを0とする(ステップ1220)。CNT-I' ≧DEC-Iの場合にはCNT-I' = CNT-I'−DEC-Iとし(ステップ1219-1)、部門番号IをI+1とする (ステップ1221)。
【0052】
全部門に関してステップ1217〜1221を実行したか否かを、Iと部門数4を比較して判定する(ステップ1222)。I≦4であり、未実行の部門がある場合には再度ステップ1217から以上の処理を繰り返す。I>4であり、未実行の部門がない場合には、ACT-IとRの値の基づき処理が分岐する(ステップ1223)。全ACT-Iが0であり全CNT-I’の水量減算が必要ないか、Rが0で振り分ける余剰帯域がない場合、バケツ蓄積量判定処理1210を終了して優先度判定処理1220へ進む。それ以外の場合にはRと、ACT-I=1の部門のW-Iに基づいて再度DEC-Iを計算し(ステップ1224)、ステップ1215へ戻る。ステップ1215から1224までの処理を繰り返すことにより、全てのCNT-I’を計算する。
【0053】
図13にポリシング結果判定処理720、優先度判定処理730、ポリシング終了処理740の代わりに行う処理1220、1230、1240のフローチャートを示す。ポリシング結果判定処理1220では、違反/遵守の判定と、ポリシングテーブル1150に書き込むCNT-1”〜CNT-4”の判定を行う。優先度判定処理1230は処理730と同一である。また、ポリシング終了処理1240は、ステップ1241にてCNT-A”、CNT-B”の代わりにCNT-1”〜CNT-4”をポリシングテーブル1150にCNT1〜4として書き込む以外は、前述のポリシング終了処理740と同一である。
【0054】
ポリシングテーブル1150はTHR、CNT、Wを各部門用にそれぞれ4フィールド備え、4部門までの監視を実現する。エントリ1100-j内のTHR、CNT、Wの数は、VPNサービス網200がサポートする最大部門数である。各企業の「部門数」≒「最大部門数」の場合には、ほぼ全てのフィールドが使用されるが、「部門数」≪「最大部門数」の場合には、多くの無駄なTHR、CNT、Wフィールドが発生してしまう。「部門数」≪「最大部門数」の場合にポリシングテーブル1150の容量を効率使用できる様に、エントリ1100-jの代わりに図14に示すポリシングテーブル1450のエントリ1400-jを使用しても良い。この場合には、一つのエントリ1400-jが一部門の帯域監視に必要となるため、契約者の部門数分のエントリ1400-jが必要となる。エントリ1400-jは、バケツの容量THR1401-jと、ある一つの部門の帯域監視直後に蓄積されていた水量CNT1405-jおよび分配比重W 1409-jを備えている。
【0055】
さらに、POLR 1403-j、TS 1404-j、PRIC 1407-j、PRIN 1408-jを備える。これらのフィールドの値は部門によらず契約者で同一値となるため、n部門をサポートする場合、n-1ヶのPOLR 1403-j、TS 1404-j、PRIC 1407-j、PRIN 1408-jは無駄なフィールドとなる。少数部門の監視をする場合はエントリ1100-jよりもフィールドの利用効率は良いが、多部門の帯域監視を行う場合には逆に悪くなる。
【0056】
ポリシングテーブル1450とした場合の帯域監視動作の変更点を以下に示す。ステップ703ではフロー検出部540が送出するフロー重要度情報17をポリシングテーブル制御回路も受信し、契約者内の全部門のエントリ1400-jを読みだすようにポリシングテーブル1450のアドレスを送信する。一契約者内に4部門ある場合には、4つのアドレスを出力し、4つのエントリ1400-jを読みだす。THR-1 蓄積手段923、THR-2蓄積手段924、THR-3蓄積手段925、THR-4蓄積手段926、CNT-1蓄積手段915、CNT-2蓄積手段916、CNT-3蓄積手段917、CNT-4蓄積手段918は各蓄積手段が蓄積すべきエントリ1400-jのTHR1401-jおよびCNT1405-jを、帯域割り当てポリシー蓄積手段919は全ての部門のW 1409-jを蓄積する。
【0057】
POLR蓄積手段513、TS蓄積手段514、PRIC蓄積手段532、PRIN蓄積手段533は、任意の一エントリ1400-j内のPOLR 1403-j、TS 1404-j、PRIC 1407-j、PRIN 1408-jだけ蓄積する。これらの値はエントリ1400-jによらず契約者で同一値となるため、同一契約者内のどのエントリ1400-j内の情報を蓄積しても良い。また、ステップ1241のCNTおよびTSの書き込みにおいては、ポリシングテーブル制御回路が、図7のステップ703で読みだしたエントリ1400-j内の適切なフィールドを書き換える。
【符号の説明】
【0058】
11…パケットヘッダ情報12…パケット優先度情報13…パケット出力回線情報14…契約者情報15…ポリシング結果情報16…バケツ蓄積量情報17…フロー重要度情報18…コネクション識別子情報19…コネクション優先度情報20…フロー重要度情報。
【技術分野】
【0001】
本発明は、ネットワークに流入するパケットの帯域を監視するポリシング装置に関する。
【背景技術】
【0002】
インターネットユーザの増加に伴い、インターネットを流れるトラヒックが急増している。インターネットでは、多数のユーザからのパケットが同じ回線を共用するため、専用の網で実現していた電話網や企業網に比べて帯域あたりのコストが低くなる。この低コスト性のため、電話網や企業網をインターネットで統合して、通信コストの低減を実現しようという動きが出てきた。これらを統合するためには、従来の専用網と同様の帯域保証が必要となる。
【0003】
帯域保証を行うサービスの一例であるVBR.2 (Variable Bit Rate.2)サービスが、The ATM Forum Specification version 4.0(以下「従来技術1」という)の4.5章に記載されている。本サービスでは、契約者とサービス提供者間で平均帯域(SCR:Sustainable Cell Rate) および最大帯域(PCR:Peak Cell Rate)が契約される。契約者は、セルヘッダ内の廃棄優先度:CLP(Cell Loss Priority)を優先(=”0”:廃棄が発生しにくい)または非優先(=”1”:廃棄が発生し易い)と設定してセル送信する。本ネットワーク入口のポリシング機能はCLPが”0”のセルを平均帯域で監視し、違反セルを廃棄するか、CLPを”1”に書き換える。また、CLPが”0”と”1”のセルを最大帯域で監視し、違反セルを廃棄する。本ネットワークのノードが輻輳時にCLP=1のセルをCLP=0のセルより優先的に廃棄することで、本ネットワークはCLPが”0”のセルの平均帯域を保証することができる。なお、ATMのポリシング機能はUPC(Usage Parameter Control)と呼ばれるが本願では、「ポリシング機能」に統一する。
【0004】
ATMのポリシング機能の監視アルゴリズム:ContinuousState Leaky Bucket Algorithm(以下リーキーバケットアルゴリズム) は、従来技術1の4.4.2章に記載されている。リーキーバケットアルゴリズムはある容量を持った穴の空いた漏れバケツのモデルで表され、バケツに水が入っている間は監視帯域に比例した量の水が漏れ、セル到着時にはバケツに1セル分の水が注ぎ込まれる。セルの到着揺らぎやバーストを許容するためにバケツに容量を持ち、バケツが溢れないうちは入力セルを遵守と、溢れると違反と判定する。リーキーバケットアルゴリズムのフローチャートを図17に示す。セルが時間taに到着すると(ステップ1701)、前回遵守と判定されたパケットの到着時刻:LCTとの差分(バケツから漏れる水量に対応)が計算される。この値をカウンタ値:X(バケツの蓄積量に対応)から減算したX'が計算され (ステップ1702)、X'が負の場合にはX'が”0”に修正される(ステップ1704)。X'とリミット:L(バケツの容量に対応)との比較が行われ (ステップ1705)、X'≧Lの場合に入力セルは違反と判定される(ステップ1706)。X'<Lの場合に遵守と判定され、X'に監視帯域より決まる固定値:I(1セル分の水量に対応)を加えた値がXとして保存される(ステップ1707)。なお、最初のセルが到着した時に、X=0、LCTは該セルの到着時刻に初期化される。
【0005】
従来技術1の前記VBR.2サービスにおいては平均帯域を有効利用できない問題が知られている。従来技術1を適用したポリシング機能はCLP=0のセルを帯域監視し、平均帯域以内と判定したセルをCLP=0のまま送信し、CLP=0のセルが平均帯域以下の場合でもCLP=1のセルをCLP=0のセルとして送信しない。すなわち、CLP=0のセルが平均帯域以下の場合、契約者は平均帯域を全て使い切ることができない。契約者が送信するCLP=0と1のセルの帯域時間変化の一例を図16(a)に((網掛け部分がCLP=0、白色部分がCLP=1))、ポリシング機能通過後の各セルの帯域時間変化を図16(b)に示す(斜線部分がCLP=0)。時間t0においては、CLP=0のセルが平均帯域以内であるにも関わらず、CLP=1のセルがそのままCLP=1のセルとして送信される。
【0006】
本課題を解決するポリシング機能が、特開2000−349812号公報(以下「従来技術2」という)に記載されている。従来技術2では、契約者とサービス提供者間で契約帯域が取り決められ、さらに、契約者は重要なパケット(以下、重要パケット)とそれ以外の非重要パケットの識別方法をサービス提供者に対して通知しておく。従来技術2のポリシング機能は、受信パケットの重要度を考慮して帯域監視を行い、遵守と判定したパケットを優先パケットと、それ以外を非優先パケットと判定する。この時、重要パケットの帯域が契約帯域未満の場合には、非重要パケットも優先パケットと判定する。このため、契約者の送信する総帯域が契約帯域以上であれば、契約者は全契約帯域を使い切ることができる。
【0007】
さらに、従来技術2は上記帯域監視を実現するリーキーバケットアルゴリズムの拡張方法に関しても記載している。従来技術2を適用したポリシング機能はリーキーバケットアルゴリズムを可変長パケット向けに拡張したアルゴリズムを使用する。優先パケット用のリミット:L-Aと非優先パケット用のリミット:L-Bを備え、L-A > L-Bとすることで、重要パケットを優先的に優先パケットと判定しながら、重要パケットが監視帯域未満の場合には、非重要パケットも優先パケットと判定する。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2000−349812号公報
【非特許文献】
【0009】
【非特許文献1】The ATM Forum Specification version 4.0
【発明の概要】
【発明が解決しようとする課題】
【0010】
従来技術2では、各契約者に割り当てられた契約帯域を優先パケットに優先的に分配し、契約帯域が余った場合にのみ非優先パケットに割り当てる完全優先的な分配に関して記載されている。従来技術2では、重要パケットの帯域が契約帯域を超えてしまうと、非重要パケットの中で優先と判定されるパケットは”0”となってしまう。しかし、契約者によっては、非重要パケットに対する最低限の帯域を確保することが求められる。そのため、ポリシング装置は契約帯域を柔軟に重要パケットと非重要パケットに分配することが必要である。
【0011】
これまで、一契約者内に複数の重要度がある場合について考えたが、一契約者内に複数の組織、例えば、企業であれば研究・開発部門、製造部門、営業部門等が存在する場合がある。この場合、各契約者の帯域保証と同時に、各部門に対する帯域保証が求められる。従来技術2を適用したポリシング機能は各契約者に割り当てられた契約帯域を各部門に完全優先的に分配するため、ある部門の優先パケットが”0”となる場合がある。従来技術1においても、本課題を解決する方法に関しては記載されていない。
【0012】
本願の目的は、以上の課題を解決するために、各契約者に割り当てられた契約帯域を柔軟に各重要度または各部門のパケットに分配するポリシング機能を提供することである。
【課題を解決するための手段】
【0013】
前述した課題を解決するために、本発明のポリシング装置は入力パケットのヘッダ情報のうち少なくとも一つの情報からパケットの属するフローと前記フロー内の重要度または部門を検出して、前記フローの識別子であるフロー識別子と前記重要度または部門の識別子である重要度・部門識別子を判定するフロー検出手段を備える。さらに、前記フロー用の監視帯域を記載した監視帯域情報と、重要度または部門毎の分配比重と、パケットの到着履歴を表すパケット到着履歴情報を備えたエントリをフロー識別子毎に持つ帯域監視テーブルを備える。パケット入力時には、監視結果判定部は該パケットのフロー識別子に対応する前記エントリ内の情報を参照して該パケットの遵守/違反を判定する。
【0014】
本発明のポリシング装置は重要度または部門毎のパケット到着履歴と、監視帯域情報と分配比重より得られる各重要度または部門への分配帯域に基づき帯域監視できるため、各重要度または部門の帯域を制御することが可能である。例えば、パケット到着履歴情報が、過去1秒に受信した各重要度または部門のバイト数である場合、このバイト数と各重要度または部門の分配帯域を単純に比較すれば良い。一方、従来技術2のポリシング装置は、パケット到着履歴情報に対応するカウンタ値Xを各フローに一つしか備えることができないため、重要度または部門毎の帯域を制御することができなかった。
【0015】
また、別のポリシング装置は、入力パケットのヘッダ情報のうち少なくとも一つの情報からパケットの属するフローと前記フロー内の重要度または部門を検出して、前記フローの識別子であるフロー識別子と前記重要度または部門の識別子である重要度・部門識別子を判定するフロー検出手段を備える。さらに、前記フローの監視帯域情報と、前記フロー内の一つの重要度または部門の分配比重と、パケット到着履歴情報を備えたエントリをフロー識別子毎、かつ重要度または部門毎に持つ帯域監視テーブルを備える。パケット入力時には、監視結果判定部が、該パケットのフロー識別子に対応する全エントリ内の情報に基づいて遵守/違反を判定する。本発明のポリシング装置は重要度または部門毎のパケット到着履歴と、監視帯域情報と分配比重より得られる各重要度または部門への分配帯域に基づき帯域監視できるため、各重要度または部門の帯域を制御することが可能である。
【0016】
上記以外の本願が解決しようとする課題、その解決手段は、本願の「発明を実施するための最良の形態」の欄および図面で明らかにされる。
【発明の効果】
【0017】
本発明を適用したポリシング装置は、複数の重要度の帯域をまとめて監視し、ある監視帯域分のパケットを遵守と判定している時に、優先パケットの帯域の重要度間比率を制御することができる。このため、前記ポリシング装置は全重要度への優先パケットの帯域を確保できる。例えば。重要パケットと非重要パケットの分配比重をそれぞれ2、1とすると、それぞれのパケットに対して、契約帯域の2/3、1/3分の帯域を確保できる。
【0018】
また、本発明を適用したポリシング装置は、複数の部門の帯域をまとめて監視し、ある監視帯域分のパケットを遵守と判定している時に、優先パケットの帯域の部門間比率を制御することができる。このため、前記ポリシング装置は全部門への優先パケットの帯域を確保できる。
【図面の簡単な説明】
【0019】
【図1】本発明のポリシング部141の構成を示すブロック図。
【図2】本発明が想定するネットワーク構成。
【図3】VPNサービス網におけるパケットのフォーマットを示す図。
【図4】本発明のノードにおけるパケットのフォーマットを示す図。
【図5】本発明のノードの構成を示すブロック図。
【図6】ポリシングテーブル550のフォーマットを示す図。
【図7】本発明を適用したポリシング部141のフローチャートの前半部分。
【図8】本発明を適用したポリシング部141のフローチャートの後半部分。
【図9】本発明を適用したポリシング結果判定部920の構成を示すブロック図。
【図10】本発明を適用したバケツ蓄積量判定部910の構成を示すブロック図。
【図11】ポリシングテーブル1150のフォーマットを示す図。
【図12】バケツ蓄積量判定処理1210のフローチャート。
【図13】ポリシング結果判定処理1220、優先度判定処理1230、ポリシング終了処理1240のフローチャート。
【図14】ポリシングテーブル1450のフォーマットを示す図。
【図15】(a)企業網A210-1が送信している重要パケットと非重要パケットの帯域時間変化を示す図。 (b)従来技術2を適用した際の優先パケットと非優先パケットの帯域時間変化を示す図。 (c)本発明を適用した際の優先パケットと非優先パケットの帯域時間変化を示す図。
【図16】(a)CLP=0とCLP=1セルの帯域時間変化を示す図。 (b)従来技術1を適用した際のCLP=0とCLP=1セルの帯域時間変化を示す図。
【図17】リーキーバケットアルゴリズムのフローチャート。
【図18】管理端末150にて入力されるコマンドの一例を示す図。
【発明を実施するための形態】
【0020】
まず、図2を用いて本発明が想定するネットワーク構成について説明する。図2のネットワークでは、企業Aの企業網A-1 210-1、企業網A-2 210-2が、キャリアが提供するVPN(Virtual Private Network)サービス網200によって接続されている。同様に、企業Aとは別の企業Bの企業網B-1 220-1、企業網B-2 220-2が接続されている。VPNサービス網200はエッジに位置するエッジノードA 202、エッジノードB 203と、コアに位置するバックボーンノード201より構成され、また、各企業網のVPNサービス網200への出入口にはゲートウェイノードA1 211-1、ゲートウェイノードA2 211-2、ゲートウェイノードB1 221-1、ゲートウェイノードB2 221-2が配置されている。
【0021】
企業サイトの接続サービスを提供するキャリアと企業網A-1/A-2の管理者間では、企業網A-1から企業網A-2に転送するパケットの帯域(以下、契約帯域と呼ぶ)が契約されている。エッジノードA 202はゲートウェイノードA1 211-1より受信するパケットの帯域を計測し、契約帯域以内と判定したパケットを優先パケットと、また契約帯域外と判定したパケットを非優先パケットとしてバックボーンノード201に送信する。バックボーンノード201およびエッジノードB 203が優先パケットを優先的に企業網A-2 210-2まで転送することで、VPNサービス網200は企業網A-1とA-2間の契約帯域を保証する。企業網A-1/A-2の管理者は予め、企業Aにとって重要なパケット(以下、重要パケットと呼ぶ)とそれ以外のパケット(以下、非重要パケットと呼ぶ)を識別する条件をキャリアに申告しておき、エッジノードA 202は本条件に基づいて入力パケットの重要度を検出し、該重要度に基づいて帯域監視を行う。本実施例では、企業網Aの管理者は、企業網A-1 210-1内の特定IPアドレスを備えた端末が送信するパケットを重要パケットと、それ以外のパケットを非重要パケットと申告しているとする。
【0022】
本発明のポリシング機能を備えるノードの概要動作を図3乃至図5を用いて説明する。図5は本発明のノード100を示す。本実施例では、本発明のノード100はVPNサービス網200のエッジノードA 202として使用され、企業網A-1 210-1の送信するパケットの帯域を監視しているとする。ノード100はNの入力回線101-i(i=1〜N)、出力回線102-i、インターフェース部120-iと、インターフェース部120-iを結合するパケット中継処理手段110より構成される。インターフェース部120はパケットの受信処理を行うパケット受信回路160と、帯域監視を行いVPNサービス網200内の転送優先度を判定し、さらに、ルーティングテーブルの検索を行ってパケットを出力する回線の識別番号:出力回線番号を判定するヘッダ処理部140と、受信したパケットを蓄積する受信側バッファ130と、パケット中継処理手段110より受信したパケットを蓄積する送信側バッファ131と、送信側バッファ131よりパケットを読みだして、送信処理を行うパケット送信回路161から構成される。
【0023】
図3は企業網AおよびVPNサービス網200におけるパケットフォーマットの一例を示す。本フォーマットはヘッダ部310とデータ部320から構成される。ヘッダ部310はネットワーク層の送信元アドレス(送信端末のアドレス)である送信元IPアドレス(Source IP Address:以下「SIP」という。)311と、宛先アドレス(受信端末のアドレス)である宛先IPアドレス(Destination IP Address:以下「DIP」という。)312と、プロトコル(=上位アプリケーション)を表す送信元ポート(Source Port:以下「SPORT」という。)313と宛先ポート(Destination Port:以下「DPORT」という。)314とネットワーク層の転送優先度を表すDSCP(Diffserv Code Point)315と、データリンク層の送信元アドレスである送信元MACアドレス(Source MAC Address:以下「SMAC」という。)316と、宛先アドレスである宛先MACアドレス(Destination MAC Address:以下「DMAC」という。)317と、データリンク層の転送優先度を表すイーサ優先度(User Priority:以下「UPRI」という。)318から構成される。また、データ部320はユーザデータ321から構成される。
【0024】
図4は本発明のノード100内部のパケットフォーマット例を示す。本フォーマットは前述のフォーマットに内部ヘッダ部330が備わる。この内部ヘッダ部330はパケットのバイト長を表すパケット長331とパケットが入力した回線の識別番号である入力回線番号332と、パケットを出力する回線の識別番号である出力回線番号333から構成される。
【0025】
パケットが入力回線101より入力するとパケット受信回路160は内部ヘッダ部330を付加し、該パケットのバイト長をカウントしてパケット長331に、パケットが入力した入力回線101の入力回線番号を入力回線番号332に書き込む。さらに、本パケットを一旦蓄積すると同時に、出力回線番号333を除く内部ヘッダ部330とヘッダ部310内の情報をパケットヘッダ情報11としてヘッダ処理部140に送信する。
【0026】
ヘッダ処理部140のポリシング部141は帯域監視を行ってネットワーク内の転送優先度であるDSCPやイーサ優先度を判定し、パケット優先度情報12としてパケット受信回路160に送信する。ヘッダ処理部140のルーティング処理部142は前記パケットヘッダ情報11内のDIP312またはDMAC317に対応する情報より出力回線番号を判定し、パケット出力回線情報13としてパケット受信回路160に送信する。なお、ノード100がルータの場合はDIP312を、スイッチの場合はDMAC317を使用する。
【0027】
パケット受信回路160はパケット優先度情報12内のDSCPとイーサ優先度を蓄積パケットのDSCP315とUPRI318に書き込み、また、パケット出力回線情報13内の出力回線番号を出力回線番号333に書き込んで、蓄積パケットを受信側バッファ130へ送信する。
【0028】
受信側バッファ130は廃棄閾値132を備え、DSCP315またはUPRI318の値に基づいてバッファ蓄積制御を実行する。バッファ蓄積制御では、使用する転送優先度であるDSCP315またはUPRI318が優先パケットを表す場合、受信側バッファ130は受信側バッファ130に空きが有るとパケットを蓄積し、空きがないとパケットを廃棄する。一方、非優先パケットを表す場合、前記廃棄閾値132以下しかパケットが蓄積されていない場合はパケットを蓄積するが、前記廃棄閾値132を越えてパケットが蓄積されていると受信側バッファ130に空きが有ってもパケットを廃棄する。このバッファ蓄積制御により、ノード100は優先パケットの通信品質を実現する。
【0029】
パケット中継手段110は受信側バッファ130内のパケットを読みだし、出力回線番号333の値に対応するインターフェース部120に該パケットを転送する。該パケットを受信した送信側バッファ131は受信側バッファ130と同様のバッファ蓄積制御を行う。パケット送信回路161は受信側バッファ130からパケットを読みだし、内部ヘッダ部330を削除し、出力回線102に該パケットを送信する。
【0030】
次に、図1、図6、図7、図8を用いて本発明のポリシング部141の詳細動作について説明する。本発明のポリシング部141は帯域監視アルゴリズムとしてリーキーバケットアルゴリズムを可変長パケットの帯域監視用に拡張したアルゴリズムを使用する。図1にポリシング部141のブロック図を示す。ポリシング部141はバケツ蓄積量判定部510と、ポリシング結果判定部520と、優先度判定部530と、フロー検出部540と、ポリシングテーブル550と、ポリシングテーブル制御部560より構成される。
【0031】
フロー検出部540はルータまたはスイッチ固有の機能部である。ATMネットワークにおいては、予めコネクションが設定され、ATMネットワーク内のATM交換機は入力セルのコネクション識別子に対応するポリシング制御情報を読みだし、その情報を用いて帯域監視を実行する(コネクション型通信)。一方、インターネットに代表されるIPネットワークにおいては、予めコネクションが設定されない。そのため、IPネットワークに置かれるルータやスイッチはフロー検出手段を備え、入力パケット毎にヘッダ内の情報等により前記コネクション識別子の代わりのフロー識別子を判定する必要がある(コネクションレス型通信)。ルータは前記フロー識別子に対応するポリシング制御情報を読みだし、本情報を用いて帯域監視を実行する。なお、本願では、特定のヘッダ内の情報等が同一である一連のパケットをフローと呼ぶ。
【0032】
図6にポリシングテーブル550のフォーマットを示す。ポリシングテーブル550はM個のポリシング制御情報600-j (j=1〜M)を所持する。ポリシング部141は一つの前記ポリシング制御情報600-jにより一フローの帯域監視を行う。本実施例では一つのポリシング制御情報600-jにより、企業網A-1 210-1がVPNサービス網200に送出する全パケットを契約帯域で監視する場合を説明する。ポリシング制御情報600-jは重要パケット用のバケツの容量THR-A601-j(Byte) (Threshold-A)と、非重要パケット用のバケツの容量THR-B602-j (Byte)(Threshold-B)と、バケツが漏れる速度であり監視帯域を表すPOLR603-j(Byte/sec)(Policing Rate)と、同一のポリシング制御情報600-jを参照するパケットが前回到着した時刻:TS604-j(sec)(Time Stamp)と、前パケットの帯域監視直後にバケツに蓄積されていた重要パケットの水量:CNT-A605-j(Byte)(Count-A)および非重要パケットの水量:CNT-B606-j(Byte)(Count-B)と、帯域監視で「遵守」と判定され優先パケットとして転送される際の転送優先度であるPRIC607-j(Priority Conformance)と、「違反」と判定され非優先パケットとして転送される際の転送優先度であるPRIN608-j(Priority non-Conformance)と、重要パケットと非重要パケットの契約帯域の分配比重W-A 609-j(Weight-A)、W-B 610-j (Weight-B)より構成される。なお、PRIC607-jとPRIN608-j内の優先度としてDSCPとイーサ優先度が記載されている。
【0033】
従来技術2では、バケツを一つ備えれば良いため、バケツの水量:CNTは一つ有れば良かったが、本発明のポリシング部141は重要パケット用と非重要パケット用のバケツを備えるため、各パケット用の二つの水量:CNT-A605-j、CNT-B606-jとバケツの容量THR-A601-j、THR-B602-jを備える。図7にポリシング部141のフローチャートの前半部分を、図8に後半部分を示す。ポリシング部141の処理はポリシング開始処理700、バケツ蓄積量判定処理710、ポリシング結果判定処理720、優先度判定処理730、ポリシング終了処理740より構成される。710、720、730の3処理はそれぞれバケツ蓄積量判定部510と、ポリシング結果判定部520と、優先度判定部530が主に実行する。
【0034】
ポリシング部141がパケットヘッダ情報11を受信すると、ポリシング結果判定部520のパケット長蓄積手段522はパケット長331に対応する情報を、フロー検出部540はSIP311、DIP312、SPORT313、DPORT314、DSCP315、SMAC316、DMAC317、UPRI318と入力回線番号332に対応する情報を蓄積する(ステップ701)。ステップ702では、フロー検出部540は蓄積された情報に基づいてフロー検出を行って入力パケットを送信した契約者の識別子である契約者識別子および入力パケットの重要度であるフロー重要度を判定し、前記契約者識別子から構成される契約者情報14をポリシングテーブル制御部560のポリシングテーブル制御回路561へ、前記フロー重要度から構成されるフロー重要度情報17をポリシング結果判定部520のフロー重要度蓄積手段525へ送信する。
【0035】
契約者(本実施例の場合、企業A)の識別に関しては、例えば、フロー検出部540が、受信パケットが入力した回線の番号である入力回線番号332によって契約者を識別しても良い。また、各企業が該企業に属する端末のIPアドレスをVPNサービス網200の管理者に申告しておけば、IPアドレスにより契約者を判定できる。重要度の識別に関しては、各企業の管理者が特定IPアドレスの端末が送信するパケットを重要パケットと、それ以外のパケットを非重要パケットと申告している本実施例の場合、フロー検出部540はSIP311に対応する情報から重要度を判定する。
【0036】
ポリシングテーブル制御回路561は前記契約者情報14からポリシングテーブル550のアドレスを作成し、ポリシング制御情報600-jを読みだす。読みだされたTHR-A601-jとTHR-B602-jの値をポリシング結果判定部520のTHR-A蓄積手段523とTHR-B蓄積手段524が、POLR603-jとTS604-jとCNT-A605-jとCNT-B606-jの値をバケツ蓄積量判定部510のそれぞれPOLR蓄積手段513、TS蓄積手段514、CNT-A蓄積手段515、CNT-B蓄積手段516が、W-A609-jとW-B610-jの値を帯域割り当てポリシー蓄積手段517が、PRIC607-jとPRIN608-j内の遵守/違反時のDSCPとイーサ優先度をそれぞれ優先度判定部530のPRIC蓄積手段532とPRIN蓄積手段533が蓄積する(ステップ703)。
【0037】
バケツ蓄積量判定処理710では、バケツ蓄積量判定部510はパケット入力直前のバケツ水量(バケツ蓄積量)を判定する。まず、バケツ蓄積量判定回路511は現時刻を示すタイマー512の値とTS蓄積手段514内の前パケットの到着時刻との差分を計算し、前パケット到着からの経過時間を計算する(ステップ711)。次に経過時間にPOLR蓄積手段513内の値を乗じて、前パケット到着から漏れた水の量(減少水量)を計算する(ステップ712)。
【0038】
バケツ蓄積量判定回路511は帯域割り当てポリシー蓄積手段517に蓄積されている契約帯域の分配比重に基づいてCNT-AおよびCNT-Bから減算すべき水量を判定する。ステップ712では計算した減少水量をW-A:W-Bに分配した仮の減少水量:DEC-AとDEC-Bを計算する(ステップ713)。ここで「仮の」と記載したのは、CNT-AとCNT-Bの値がそれぞれDEC-AとDEC-Bより小さい場合、DEC-AとDEC-Bは実際の減少水量とならないためである。以降のステップ714〜716では、CNT-A、CNT-BとDEC-A、DEC-Bの大小関係に基づいて、減少水量減算後のCNT-A、CNT-Bの値:CNT-A’、CNT-B’を計算する。まず、ステップ714およびステップ715にてこの大小関係に基づきステップ716-1〜716-4に分岐する。ステップ716-1はCNT-A≧DEC-AおよびCNT-B≧DEC-Bのケースである。
【0039】
この際、新規CNT-A、CNT-Bの値:CNT-A’、CNT-B’をそれぞれCNT-A−DEC-A、CNT-B−DEC-Bとする。ステップ716-2はCNT-A≧DEC-AおよびCNT-B<DEC-Bのケースである。CNT-BはDEC-Bを減算すると負となるため、CNT-B'は0とする。この時、CNT-A より減算できなかったDEC-B−CNT-B分の水量をCNT-Aより減算することができる。よって、CNT-A’の値としてCNT-A−DEC-A−(DEC-B−CNT-B)と0のうちで大きな値を選択する。同様にステップ716-3ではCNT-A'を0 と、CNT-B’をCNT-B−DEC-B−(DEC-A−CNT-A)と0のうち、より大きな値とする。ステップ716-4はCNT-A<DEC-AおよびCNT-B<DEC-Bのケースであり、CNT-A’、CNT-B’共に0 とする。これまで、W-Bが正の場合を考えてきたが、W-Bを”0”とすると、重要パケットに完全優先的に契約帯域を分配することができる。このようなW-A、W-Bに基づいた減少水量の分配処理は本発明固有の処理である。
【0040】
ポリシング結果判定処理720では、ポリシング結果判定部520のポリシング結果判定回路521はバケツ蓄積量判定部510が判定した水量が、入力パケットの重要度に応じたバケツ閾値に収まるか否かを判定する。まず、フロー検出部540が送信しているフロー重要度情報17をフロー重要度蓄積手段525に蓄積する。この蓄積情報に基づき検索処理は分岐する(ステップ721)。前記蓄積情報が「重要」の場合にはTHR-A蓄積手段523に蓄積されている重要パケット用のバケツの容量THR-AとCNT-A’の大小比較を行う(ステップ722-1)。
【0041】
CNT-A’≦THR-Aであってバケツが溢れない場合には、入力パケットを遵守パケットと判定し、「遵守」を表示したポリシング結果情報15を優先度判定回路531とポリシングテーブル制御回路561に送信する(ステップ723-1) 。また、さらに、次パケット到着時に使用する重要および非重要パケット用の水量:CNT-A”、CNT-B”をそれぞれパケット長蓄積手段内のパケット長+CNT-A’、CNT-B’と判定し、ポリシングテーブル制御回路561にバケツ蓄積量情報16として送信する(ステップ724-1)。CNT-A’>THR-Aであって、バケツが溢れている時には、入力パケットを違反パケットと判定して「違反」を表すポリシング結果情報15を優先度判定回路531とポリシングテーブル制御回路561に送信する(ステップ723-2)。また、CNT-A”、CNT-B”をそれぞれCNT-A’、CNT-B’と判定し、ポリシングテーブル制御回路561にバケツ蓄積量情報16として送信する(ステップ724-2)。
【0042】
一方、ステップ721の参照結果が非重要の場合にはTHR-B蓄積手段524に蓄積されている非重要パケット用のバケツの容量THR-BとCNT-B’の大小比較を行う(ステップ722-2)。CNT-B’≦THR-Bの時には、入力パケットを遵守パケットと判定し、「遵守」を表示したポリシング結果情報15を優先度判定回路531とポリシングテーブル制御回路561に送信する(ステップ723-3)。また、CNT-A”、CNT-B”をそれぞれCNT-A'、 パケット長蓄積手段522内のパケット長+CNT-B'と判定し、ポリシングテーブル制御回路561にバケツ蓄積量情報16として送信する(ステップ724-3)。CNT-B’>THR-Bであって、バケツが溢れてしまう状態の時には、入力パケットを違反パケットと判定して「違反」を表すポリシング結果情報15を優先度判定回路531とポリシングテーブル制御回路561に送信する(ステップ724-3)。また、CNT-A”、CNT-B”をそれぞれCNT-A’、CNT-B’と判定し、ポリシングテーブル制御回路561にバケツ蓄積量情報16として送信する(ステップ724-4)。
【0043】
優先度判定処理730では、優先度判定部530はポリシング結果情報15に基づいて優先度を判定する。優先度判定回路531はポリシング結果情報15が「遵守」の場合、PRIC蓄積手段532内のDSCPとイーサ優先度を入力パケットのDSCPとイーサ優先度と判定し、前記優先度より構成されるパケット優先度情報12をパケット受信回路160に送信する(ステップ731)。「違反」の場合、PRIN蓄積手段533内のDSCPとイーサ優先度を入力パケットのDSCPとイーサ優先度と判定し、前記判定情報より構成されるパケット優先度情報12 をパケット受信回路160に送信する(ステップ732)。ポリシング終了処理740では、ポリシングテーブル制御回路561がバケツ蓄積量情報16内のCNT-A”、CNT-B”とタイマー512の値を、契約者情報14に対応するポリシング制御情報600-jのCNT-A 605-j、CNT-B 606-jとTS604-jに書き込み(ステップ741)、帯域監視を終了する(ステップ742)。
【0044】
VPNサービス網200の管理者はノード100外部の管理端末150を用いて帯域監視に関する情報をノード100に設定する。管理端末150に入力されるコマンドの一例を図18に示す。このコマンドの181、182には非重要パケットのSIPとDIPが、183、184には重要パケットのSIPとDIPが設定される。また、185、186、187には監視帯域と優先・非優先パケットの優先度が設定され、188、189には非重要パケットの分配比重Wとバケツの容量THRが、190、191には重要パケットの分配比重Wとバケツの容量THRが設定される。図18のコマンドは送信端末のIPアドレスが10.10.10.1と10.10.10.2の送信端末が送信したパケットの帯域を100Mbpsで監視し、優先パケットおよび非優先パケットの優先度(DSCPまたはイーサ優先度)を1および2と判定する帯域監視を行う際のコマンドである。さらに、10.10.10.1の端末が送信する非重要パケットが200kByteのバケツで、10.10.10.2の端末が送信する重要パケットが、300kByteのバケツで監視される。また、優先パケットと非優先パケットの分配比重はそれぞれ2と1である。本コマンドを受けたプロセッサ170は181から184の情報をフロー検出部540に、また185から191の情報をエントリ600のそれぞれPOLR603、PRIC607、PRIN608、W-B610、THR-B602、W-A609、THR-A601に設定する。なお、TS604、CNT-A605、CNT-B606は” 0”に初期化する。
【0045】
図15を用いて本発明を適用したノード100の効果を説明する。図15(a)はノード100に入力するパケットの帯域時間変化の例を示す。ここで、網掛け部分が重要パケットの帯域を
、白い部分が非重要パケットの帯域を表している。従来技術2を適用したポリシング機能を使用して図15(a)のトラヒックを監視した場合の優先パケットと非優先パケットの帯域時間変化を図15(b)に示す。斜線部が優先パケット、それ以外の斜線がない部分が非優先パケットである。重要パケットが優先的に契約帯域以内のパケットと判定され、時間t1では非重要パケットは常に非優先パケットとなってしまう。
【0046】
本発明を適用したポリシング機能を使用して図15(a)に示すトラヒックを監視した場合の優先パケットと非優先パケットの帯域時間変化を図15(c)に示す。W-AとW-Bはそれぞれ2と1である。重要パケットの入力帯域が契約帯域の2/3以下の場合には、余剰契約帯域分の非重要パケットが優先パケットと判定される(時間t2)。一方、重要パケットの入力帯域が契約帯域の2/3以上の場合には、契約帯域の2/3分は優先パケットと判定されるが、残りの1/3は非重要パケットの帯域として確保される。すなわち、非重要パケットの帯域が契約帯域の1/3以上である場合には、契約帯域の1/3分の非重要パケットが優先パケットと判定され、契約帯域の1/3以上である場合には、全非重要パケットが優先パケットと判定される(時間t3)。以上に説明したように、本発明を適用したポリシング装置は、重要パケットに優先的に契約帯域を割り当てながら、非重要パケットの帯域も確保することができる。
【0047】
以上の実施例では、重要度が違う二種のパケットが存在する場合について説明した。重要度の識別法と重要度毎の分配比重の代わりに、企業A内の二部門の識別法と各部門の分配比重をVPNサービス網200の管理者に申告しておけば、部門間の契約帯域分配を制御することが可能である。しかし、実際の企業においては、三部門以上が存在する場合も考えられる。以下の実施例では、部門数が増加した場合の例として、契約帯域を四部門が共有している場合のポリシング部について説明する。
【0048】
この場合のポリシングテーブル1150のフォーマットを図11に示す。本テーブルの各エントリ1100-jはポリシングテーブル550のエントリ600-jのTHR-A 601-j、THR-B 602-jの代わりに、THR-1 1101-j、THR-2 1102-j、THR-3 1103-j、THR-4 1104-jを備える。さらに、CNT-A 605-j、CNT-B 606-jの代わりにCNT-1 1105-j、CNT-2 1106-j、CNT-3 1107-j、CNT-4 1108-jを、また、W-A 609-j、W-B 610-jの代わりにW-1 1109-j、W-2 1110-j、W-3 1111-j、W-4 1112-jを備える。これに伴い、図9に示す本実施例のポリシング結果判定部920はTHR-A 蓄積手段523、THR-B蓄積手段 524の代わりにTHR-1蓄積手段923、THR-2蓄積手段924、THR-3蓄積手段925、THR-4蓄積手段926を備える。また、図10に示す本実施例のバケツ蓄積量判定部910はCNT-A 蓄積手段515、CNT-B 蓄積手段516の代わりにCNT-1 蓄積手段915、CNT-2 蓄積手段916、CNT-3 蓄積手段917、CNT-4 蓄積手段918を備える。
【0049】
帯域監視の各処理は以下の様に変わる。ポリシング開始処理700のステップ702では、フロー検出部540は企業A内の各部門の識別子を、予め契約者により申告された部門の識別方法に基づき検出し、結果をフロー重要度蓄積手段927にフロー重要度情報17として送信する。部門の識別に関しては、例えば、企業網Aの管理者が、各部門が所有する端末のIPアドレスをキャリアに申告し、フロー検出部540は送信元IPアドレスから部門を判定すれば良い。ステップ703では読みだされたTHR-1 1101-j、THR-2 1102-j、THR-3 1103-j、THR-4 1104-j、CNT-1 1105-j、CNT-2 1106-j、CNT-3 1107-j、CNT-4 1108-jを、それぞれTHR-1蓄積手段923、THR-2蓄積手段924、THR-3蓄積手段925、THR-4蓄積手段926およびCNT-1 蓄積手段915、CNT-2 蓄積手段916、CNT-3 蓄積手段917、CNT-4 蓄積手段918が蓄積する。また、W-1 1109-j、W-2 1110-j、W-3 1111-j、W-4 1112- jを帯域割り当てポリシー蓄積手段919が蓄積する。
【0050】
バケツ蓄積量判定処理710の代わりに行うバケツ蓄積量判定処理1210のフローチャートを図12に示す。ステップ1211, 1212はそれぞれステップ711, 712と同様の処理である。その後、バケツ蓄積量判定回路1011は帯域割り当てポリシー設定手段919内の部門毎の帯域比重W-1、W-2、W-3、W-4に基づき、CNT-1、CNT-2、CNT-3、CNT-4から減算すべき仮の減少水量:DEC-I(I=1〜4)を計算する(ステップ1213)。ステップ1214以下の処理はDEC-IとCNT-Iの大小関係に応じて、パケットが入力する直前の水量:CNT-I’を計算する処理である。まず、ステップ1214では仮にCNT-I=CNT-I’とし、それぞれのCNT-I’が水量の減算対象であることを示すACT-I(active-I)を1に初期化する(ステップ1214)。
【0051】
次に、企業内の部門番号Iを”1”に初期化する。このIはステップ1217〜1222のルーティン処理を行うために用いられる。次のステップ1216では余剰帯域R(bit/s)を”0”に初期化する。Rは各部門の余剰帯域(CNT-I−DEC-I)の総和である。ステップ1217ではACT-Iが1か否かで処理が分岐する。ACT-Iが0であってCNT-Iから減算する必要がない場合には水量の減算を行わず、部門番号IをI+1とする (ステップ1221)。一方、ACT-Iが1の場合、CNT-I'からDEC-I全てを減算できるか否かを判定する(ステップ1218)。CNT-I'<DEC-I場合には、CNT-I'=0(ステップ1219-2)とし、Rに余剰帯域分(DEC-I−CNT-I)を加算し、ACT-Iを0とする(ステップ1220)。CNT-I' ≧DEC-Iの場合にはCNT-I' = CNT-I'−DEC-Iとし(ステップ1219-1)、部門番号IをI+1とする (ステップ1221)。
【0052】
全部門に関してステップ1217〜1221を実行したか否かを、Iと部門数4を比較して判定する(ステップ1222)。I≦4であり、未実行の部門がある場合には再度ステップ1217から以上の処理を繰り返す。I>4であり、未実行の部門がない場合には、ACT-IとRの値の基づき処理が分岐する(ステップ1223)。全ACT-Iが0であり全CNT-I’の水量減算が必要ないか、Rが0で振り分ける余剰帯域がない場合、バケツ蓄積量判定処理1210を終了して優先度判定処理1220へ進む。それ以外の場合にはRと、ACT-I=1の部門のW-Iに基づいて再度DEC-Iを計算し(ステップ1224)、ステップ1215へ戻る。ステップ1215から1224までの処理を繰り返すことにより、全てのCNT-I’を計算する。
【0053】
図13にポリシング結果判定処理720、優先度判定処理730、ポリシング終了処理740の代わりに行う処理1220、1230、1240のフローチャートを示す。ポリシング結果判定処理1220では、違反/遵守の判定と、ポリシングテーブル1150に書き込むCNT-1”〜CNT-4”の判定を行う。優先度判定処理1230は処理730と同一である。また、ポリシング終了処理1240は、ステップ1241にてCNT-A”、CNT-B”の代わりにCNT-1”〜CNT-4”をポリシングテーブル1150にCNT1〜4として書き込む以外は、前述のポリシング終了処理740と同一である。
【0054】
ポリシングテーブル1150はTHR、CNT、Wを各部門用にそれぞれ4フィールド備え、4部門までの監視を実現する。エントリ1100-j内のTHR、CNT、Wの数は、VPNサービス網200がサポートする最大部門数である。各企業の「部門数」≒「最大部門数」の場合には、ほぼ全てのフィールドが使用されるが、「部門数」≪「最大部門数」の場合には、多くの無駄なTHR、CNT、Wフィールドが発生してしまう。「部門数」≪「最大部門数」の場合にポリシングテーブル1150の容量を効率使用できる様に、エントリ1100-jの代わりに図14に示すポリシングテーブル1450のエントリ1400-jを使用しても良い。この場合には、一つのエントリ1400-jが一部門の帯域監視に必要となるため、契約者の部門数分のエントリ1400-jが必要となる。エントリ1400-jは、バケツの容量THR1401-jと、ある一つの部門の帯域監視直後に蓄積されていた水量CNT1405-jおよび分配比重W 1409-jを備えている。
【0055】
さらに、POLR 1403-j、TS 1404-j、PRIC 1407-j、PRIN 1408-jを備える。これらのフィールドの値は部門によらず契約者で同一値となるため、n部門をサポートする場合、n-1ヶのPOLR 1403-j、TS 1404-j、PRIC 1407-j、PRIN 1408-jは無駄なフィールドとなる。少数部門の監視をする場合はエントリ1100-jよりもフィールドの利用効率は良いが、多部門の帯域監視を行う場合には逆に悪くなる。
【0056】
ポリシングテーブル1450とした場合の帯域監視動作の変更点を以下に示す。ステップ703ではフロー検出部540が送出するフロー重要度情報17をポリシングテーブル制御回路も受信し、契約者内の全部門のエントリ1400-jを読みだすようにポリシングテーブル1450のアドレスを送信する。一契約者内に4部門ある場合には、4つのアドレスを出力し、4つのエントリ1400-jを読みだす。THR-1 蓄積手段923、THR-2蓄積手段924、THR-3蓄積手段925、THR-4蓄積手段926、CNT-1蓄積手段915、CNT-2蓄積手段916、CNT-3蓄積手段917、CNT-4蓄積手段918は各蓄積手段が蓄積すべきエントリ1400-jのTHR1401-jおよびCNT1405-jを、帯域割り当てポリシー蓄積手段919は全ての部門のW 1409-jを蓄積する。
【0057】
POLR蓄積手段513、TS蓄積手段514、PRIC蓄積手段532、PRIN蓄積手段533は、任意の一エントリ1400-j内のPOLR 1403-j、TS 1404-j、PRIC 1407-j、PRIN 1408-jだけ蓄積する。これらの値はエントリ1400-jによらず契約者で同一値となるため、同一契約者内のどのエントリ1400-j内の情報を蓄積しても良い。また、ステップ1241のCNTおよびTSの書き込みにおいては、ポリシングテーブル制御回路が、図7のステップ703で読みだしたエントリ1400-j内の適切なフィールドを書き換える。
【符号の説明】
【0058】
11…パケットヘッダ情報12…パケット優先度情報13…パケット出力回線情報14…契約者情報15…ポリシング結果情報16…バケツ蓄積量情報17…フロー重要度情報18…コネクション識別子情報19…コネクション優先度情報20…フロー重要度情報。
【特許請求の範囲】
【請求項1】
情報処理装置間で送受信されるパケットを中継するネットワークノードであって、
前記パケットをネットワークから受信するパケット送信回路と、
前記パケットに対応するフロー毎、及び、前記フローを構成する複数のクラスのうち、前記パケットに対応するクラスに設定される監視帯域に従って、前記パケットが監視帯域以内のパケットであるか否かを判定し、監視帯域以内と判定したパケットを遵守と、それ以外のパケットを違反と判定するポリシング部と、
前記判定されたパケットをネットワークに出力するパケット受信回路と、
を備えるネットワークノード。
【請求項2】
請求項1記載のネットワークノードであって、
前記フローを構成する複数のクラス間における分配比率に基づいて、各クラス毎の監視帯域が設定され、
前記ポリシング部は、前記フローの監視帯域以内でなくても、前記パケットに対応するクラスに設定される監視帯域以内である場合は、前記パケットを遵守と判定し、前記判定結果に対応する転送優先度を前記パケットに書き込む、ことを特徴とするネットワークノード。
【請求項3】
請求項2記載のネットワークノードであって、
複数の前記フローに対応する監視帯域が設定され、
前記ポリシング部は、前記パケットの受信に応じて、前記パケットに対応するフロー及びクラスを特定し、前記特定結果に基づいて、前記パケットが遵守あるいは違反であるかを判定する、ことを特徴とするネットワークノード。
【請求項1】
情報処理装置間で送受信されるパケットを中継するネットワークノードであって、
前記パケットをネットワークから受信するパケット送信回路と、
前記パケットに対応するフロー毎、及び、前記フローを構成する複数のクラスのうち、前記パケットに対応するクラスに設定される監視帯域に従って、前記パケットが監視帯域以内のパケットであるか否かを判定し、監視帯域以内と判定したパケットを遵守と、それ以外のパケットを違反と判定するポリシング部と、
前記判定されたパケットをネットワークに出力するパケット受信回路と、
を備えるネットワークノード。
【請求項2】
請求項1記載のネットワークノードであって、
前記フローを構成する複数のクラス間における分配比率に基づいて、各クラス毎の監視帯域が設定され、
前記ポリシング部は、前記フローの監視帯域以内でなくても、前記パケットに対応するクラスに設定される監視帯域以内である場合は、前記パケットを遵守と判定し、前記判定結果に対応する転送優先度を前記パケットに書き込む、ことを特徴とするネットワークノード。
【請求項3】
請求項2記載のネットワークノードであって、
複数の前記フローに対応する監視帯域が設定され、
前記ポリシング部は、前記パケットの受信に応じて、前記パケットに対応するフロー及びクラスを特定し、前記特定結果に基づいて、前記パケットが遵守あるいは違反であるかを判定する、ことを特徴とするネットワークノード。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2011−147196(P2011−147196A)
【公開日】平成23年7月28日(2011.7.28)
【国際特許分類】
【出願番号】特願2011−103372(P2011−103372)
【出願日】平成23年5月6日(2011.5.6)
【分割の表示】特願2009−54376(P2009−54376)の分割
【原出願日】平成15年12月3日(2003.12.3)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成23年7月28日(2011.7.28)
【国際特許分類】
【出願日】平成23年5月6日(2011.5.6)
【分割の表示】特願2009−54376(P2009−54376)の分割
【原出願日】平成15年12月3日(2003.12.3)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]