(57)【要約】【課題】  入力回線より入力するパケットの帯域と出力回線より出力するパケットの帯域の総和を制御する。【解決手段】  シェーピング部100は、入力回線からのパケットのパケット長情報から成る第一のパケット情報と、出力回線へのパケットとそのパケット長から成る第二のパケット情報を、クラス毎に格納するバッファ1、2を備える。パケット出力回路110は該パケット長情報を用いて、バッファ毎に第一および第二のパケット情報の送信時刻を計算して、バッファ1、２から第一および第二のパケット情報を読み出し、送信する。フィルタ回路160は読み出した第二のパケット情報内のパケットのみを送信する。【選択図】  図１
2009171372.tif 000002
【特許請求の範囲】
【請求項１】
入力回線と出力回線とをそれぞれが備えた複数のインタフェースを備え、前記入力回線から入力したパケットを少なくとも一つの前記出力回線に送信するパケット転送装置であって、
前記入力回線から入力したパケットの帯域に基づいて、前記複数のインタフェースのうち前記入力パケットが入力された前記入力回線と同じインタフェースに備えられた出力回線から出力するパケットの帯域を制御して送信するシェーピング部を備えることを特徴とするパケット転送装置
【請求項２】
請求項１記載のパケット転送装置であって、
前記シェーピング部が、前記入力回線に入力されたパケットの帯域と、前記複数のインタフェースのうち前記パケットが入力された前記入力回線と同じインタフェースに備えられた前記出力回線から出力される出力パケットの帯域の総和に基づいて、前記出力パケットの送信を制御することを特徴とするパケット転送装置。
【請求項３】
請求項２記載のパケット転送装置であって、
前記シェーピング部が、前記入力パケットのバイト数の情報および前記出力パケットのバイト数の情報を用いて、前記出力パケットの帯域を制御して送信するパケット出力回路を備えることを特徴とするパケット転送装置。
【請求項４】
請求項３記載のパケット転送装置であって、
前記シェーピング部が、前記入力パケットの情報のうち前記バイト数の情報を含む第一のパケット情報と前記出力パケットおよび前記出力パケットのバイト数の情報を含む第二のパケット情報とを格納するバッファを備え、前記パケット出力回路が、格納された前記第一のパケット情報と第二のパケット情報に基づいて前記バッファに到着した前記第二のパケット情報内の前記出力パケットの読み出しタイミングを制御して前記出力パケットの帯域を制御することを特徴とするパケット転送装置。
【請求項５】
請求項３記載のパケット転送装置であって、
前記入力パケットのヘッダ情報と前記出力パケットのヘッダ情報および前記入力パケットが入力した入力回線の情報と前記出力パケットが入力した入力回線の情報の少なくとも一部の情報から、前記入力パケットまたは前記出力パケットの属するクラスを判定するフロー検出部を備え、前記シェーピング部が、前記入力パケットの情報のうちバイト数の情報を含む第一のパケット情報と前記出力パケットおよび前記出力パケットのバイト数の情報を含む第二のパケット情報を蓄積するバッファを前記クラス毎に備え、前記パケット出力回路が各々のバッファに到着した前記第二のパケット情報の前記出力パケットの読み出しタイミングを制御して前記出力パケットの帯域を制御することを特徴とするパケット転送装置。
【請求項６】
請求項４乃至５記載のパケット転送装置であって、
前記パケット出力回路が、前記出力パケットの送信時刻を該出力パケットの前に到着した前記第一乃至第二のパケット情報のバイト数に基づいて判定することを特徴とするパケット転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
ネットワークのパケットの帯域を制御するパケット転送装置及び方法に関する。
【背景技術】
【０００２】
IPネットワークで用いられるパケット型通信方式では、多数のユーザが同じ回線を共用使用できるため、帯域あたりのコストを低く抑えることができる。この低コスト性のため、IPネットワークにおいて通信品質を確保して、従来、専用のネットワークで実現してきた電話や放送といったデータをIPネットワークを用いて通信する動きが出てきた。
【０００３】
通信品質を確保するためには、IPネットワークを構成するパケット転送装置が、シェーピング機能に代表されるQoS機能を備えている必要がある。シェーピング機能としては例えばWFQ(Weighted Fair Queueing)と呼ばれるスケジューリング方式によるシェーピング機能が知られている。WFQのアルゴリズムは、SCFQ(Self Clocked Fair Queueing)と呼ばれるアルゴリズムが非特許文献1に記述されている。非特許文献１ではシェーピング機能は複数のキューi(=1〜N)を所持し、前記キューi毎に使用帯域に比例した重みWiと変数Fiを持ち、パケットがシェーパに到着すると変数Fiの更新を行う。パケット出力時には、パケットが蓄積しているキューiの先頭パケットの変数Fiの中から最小のFiを持つキューiのパケットをサービスする。変数のFiの更新は
Fi = L/Wi+max(Fi, V(ta))
に従って行われる。ここで、Ｌは到着パケットのパケット長、taはパケットの到着時刻、V(t)は時刻ｔにおけるキューiのパケット変数Fiの値を返す関数である。
他のシェーピング機能としては、複数回線に出力するパケットの帯域の総和を制御する特許文献1のシェーピング機能が知られている。特許文献1のシェーピング機能では、複数回線から成る出力回線グループに出力されるパケットの送信予定時刻を、該出力回線グループのクラス毎に計算し、該送信予定時刻を基づきパケットを送信することで、複数回線に出力するパケットの帯域をクラス毎に制御する。
【０００４】
【特許文献１】特開２００７−９７１１４号公報
【非特許文献１】S.Golestani， “A Self-Clocked Fair Queuing Scheme for Broadband Applications”， In proc． of INFOCOM’94， pp．636-646，1994．
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前述した特許文献1、非特許文献1記載のシェーピング機能は、出力回線に対応する入力回線からのパケット入力を考慮してパケット出力を実施していない。そのため、特許文献1または非特許文献1を適用したシェーピング機能は、ある出力回線に出力するパケットと該出力回線に対応する入力回線より入力するパケットの帯域の総和を制御することが出来ないといった課題がある。
【０００６】
図5のネットワークを用いて、本課題を具体的に説明する。図5のネットワークはデータセンタ520とユーザAの企業網A530とユーザBの企業網B540が、キャリアが提供している広域イーサネットネットワーク510により結合されたネットワークである。ここで、ユーザAの端末531/端末532とユーザBの端末541/端末542はデータセンタ520とデータを送受信しているが、データセンタ520とネットワーク510に配置されたルータ523とルータ512間の回線Cが帯域のボトルネックとなっている。ユーザAとユーザBは前記キャリアと同一の契約を行っている場合、企業網A530からデータセンタ520へのパケットの帯域とデータセンタ520から企業網A530へのパケットの帯域の和と、企業網B540からデータセンタ520へのパケットの帯域とデータセンタ520から企業網B540へのパケット帯域の和を平等とすることが望ましい。例えば、ルータ512の回線Cに至る機能部に特許文献1、非特許文献1記載のシェーピング機能が配置される場合を考える。この際、特許文献1、非特許文献1記載のシェーピング機能は、回線Cから受信する帯域と回線Cへ送信する帯域の総和を制御できず、送受信帯域の平等な割当を実現できない課題が存在する。
【０００７】
このため、本発明の目的は、送信帯域と受信帯域の総和を制御可能なシェーピング機能を実現することである。
【課題を解決するための手段】
【０００８】
前述した課題を解決するために、例えば、複数の入力回線と複数の出力回線と、前記入力回線から入力したパケットを少なくとも一つの前記出力回線に送信するパケット転送装置において、
前記入力回線から入力したパケットである入力パケットの帯域に応じて前記出力回線から出力するパケットである出力パケットの帯域を制御して送信するシェーピング部を備える。前記シェーピング部は前記入力パケットのバイト数情報および前記出力パケットのバイト数情報を用いて、出力パケットの帯域を制御して送信するパケット出力回路を備える。さらに、前記シェーピング部は前記入力パケットの情報のうちバイト数情報を含む第一のパケット情報と前記出力パケットおよび前記出力パケットのバイト数情報を含む第二のパケット情報を格納するバッファを備え、前記パケット出力回路が前記バッファに最も早く到着した第二のパケット情報内の前記出力パケットの読み出しタイミングを制御して前記出力パケットの帯域を制御する
【発明の効果】
【０００９】
例えば、シェーピング機能が上記手段を備えることにより、送信帯域と受信帯域の総和を制御可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、図1から図5を用いて本発明に好適な実施例を説明する。ただし、本発明はこの実施例に限定されるものではない。
【００１１】
以下では、本発明のシェーピング機能を備えるルータの概要動作を図1乃至図4を用いて説明する。図2は本発明のパケット転送装置200を示す。パケット転送装置200はパケットが入力するN個の入力回線201-i(i=1-N)とインターフェース部210-i(i=1-N)とインターフェース部210-i間のスイッチングを行うパケット中継処理手段250から構成される。なお、入力回線201-iと出力回線202-iは対を成し、以下ではこの組を入出力回線iと呼ぶ。インターフェース部210-i(i=1-N)は、パケットの受信処理を行うパケット受信回路230と、入力パケットのヘッダ情報等に基づいて該パケットのクラスおよび該パケットを出力する出力回線の番号：出力回線番号を判定し、本情報をパケット受信回路230に出力するヘッダ処理部240と、パケット中継処理手段250から受信したパケットを蓄積し、クラス毎に入出力回線iから入出力されるパケットの帯域を制御するシェーピング部100と、パケット送信処理を行うパケット送信回路270から構成される。
【００１２】
図3は入力回線201-iより入力するパケットのフォーマットの一例を示す。本フォーマットはヘッダ部310とデータ部320から構成される。ヘッダ部310は送信元アドレス（送信端末のアドレス）である送信元IPアドレス（Source IP Address：以下「SIP」と呼ぶ。）311と、宛先アドレス（受信端末のアドレス）である宛先IPアドレス（Destination IP Address：以下「DIP」と呼ぶ。）312と、プロトコル（＝上位アプリケーション）を表す送信元ポート（Source Port：以下「SPORT」と呼ぶ。）313と宛先ポート（Destination Port：以下「DPORT」と呼ぶ。）314とネットワーク内の転送優先度を表すDSCP315から構成される。また、データ部320はユーザデータ321から構成される。
【００１３】
図4は本発明のパケット転送装置200内部のパケットフォーマットの一例を示す。本フォーマットは前述のフォーマットに内部ヘッダ部330が備わる。この内部ヘッダ部330は入力パケットのバイト長を表すパケット長331と、該パケットが入力した回線の番号である入力回線番号332と、該パケットを出力する回線の番号である出力回線番号333と、該パケットのクラス334から構成される。
【００１４】
パケットが入力回線201より入力するとパケット受信回路230は内部ヘッダ330を付加し、該パケットのバイト長をカウントしてパケット長331に、該パケットが入力した入力回線201の番号を入力回線番号332に書き込む。さらに、該パケットを蓄積すると同時に、内部ヘッダ部330のパケット長331と入力回線番号332とヘッダ部310内の情報をパケットヘッダ情報21としてヘッダ処理部240に送信する。
【００１５】
ヘッダ処理部240のフロー検出部241はパケットヘッダ情報21に基づいて入力したパケットの属するクラスを判定し、フロー検出結果情報22としてパケット受信回路230に送信する。
【００１６】
ヘッダ部310には前記情報311〜315以外にIPプロトコルの上位プロトコル等や、データリンクレイヤがイーサネットの場合はMACアドレス等が格納されるが、フロー検出部241がこれらの情報も用いてクラスを判定しても良い。
【００１７】
ルーティング処理部242は前記パケットヘッダ情報21内のDIP312に対応する情報よりパケットを出力する出力回線202の番号：出力回線番号を判定し、パケット出力回線情報23としてパケット受信回路230に送信する。データリンクレイヤがイーサネットの場合には、ヘッダ部310に前記情報DIP312以外にMACアドレス等も格納されている。この場合には本情報を用いて出力回線番号を判定しても良い。
【００１８】
パケット受信回路230はフロー検出結果情報22とパケット出力回線情報23を受信すると、蓄積したパケットのクラス334と出力回線番号333の各フィールドに受信した情報を書き込み、パケット中継処理手段250へ送信すると同時に内部ヘッダ情報330をダミーパケット25としてシェーピング部100に送信する。一方、パケット中継処理手段250は、出力回線番号333に対応するインターフェース部210-iのシェーピング部100に該パケットをスイッチングする。
【００１９】
本発明のシェーピング部100の詳細を図1に示す。図1のシェーピング部100はクラス毎のバッファ1および2、パケット出力回路110、振分回路120、帯域情報蓄積部130、送信時刻蓄積部140、タイマー150、フィルタ回路160より構成される。送信時刻蓄積部140には各バッファ（クラス）の送信予定時刻が、帯域情報蓄積部130には、各バッファ（クラス）の最大帯域が格納されている。
【００２０】
シェーピング部100がパケットまたはダミーパケットを受信すると振分回路120はパケットまたはダミーパケットをクラス334に対応するバッファに送信し、バッファ1と2はパケットまたはダミーパケットを蓄積する。さらに、振分回路120はパケット長331とクラス334をパケット出力回路110に送信する。
【００２１】
パケット出力回路110は、ダミーパケットをバイト長がパケット長331であるパケットと同様に取り扱い、パケットとダミーパケットの帯域を制御して出力する。まず、パケット送信回路270からパケット送信起動信号24を受信すると、バッファ1と2を参照し、各バッファへのパケット、ダミーパケットの蓄積有無を判定する。さらに、パケット出力回路110はパケットまたはダミーパケットが蓄積されているバッファの送信予定時刻を送信時刻蓄積部140より読み出し、パケット送信時刻が早いバッファ（クラス）をリードバッファとして判定する。さらに、タイマー150の値(現時刻を表す)とリードバッファの送信予定時刻を比較し、該送信予定時刻が過去の場合、該リードバッファに最も早く蓄積されたパケットまたはダミーパケットを読み出し、フィルタ回路160に送信する。フィルタ回路160は受信したパケットやダミーパケットの内、パケットのみをパケット送信回路270に送信する。
【００２２】
パケット出力回路110は、送信したパケットまたはダミーパケットのパケット長331と、帯域情報蓄積部130に格納される前記リードバッファに対応する最大帯域を用いて、リードバッファの送信予定時刻を式1に従い再計算する。
【００２３】
新規送信予定時刻 ＝ max(送信予定時刻, 現時刻)＋パケット長331/最大帯域……式1
さらに、パケット出力回路110は、再計算した値を送信時刻蓄積部140に前記リードバッファに対応する送信予定時刻として書き込む。
【００２４】
この送信予定時刻は、振分回路120がパケットまたはダミーパケットを受信した時に、蓄積すべきバッファにパケットまたはダミーパケットが蓄積されていない場合にも更新される。まず、パケット出力回路110はパケット受信時に振分回路120から受信したクラス334に対応するバッファの蓄積状況を参照する。パケットまたはダミーパケットが蓄積されていない場合、送信時刻蓄積部140よりクラス334に対応するバッファの送信予定時刻を読み出し、式2に従い更新する。
【００２５】
新規送信予定時刻 ＝ min(送信予定時刻＋パケット長331/最大帯域, 現時刻）……式2
以上に説明した様に、パケット出力回路110が帯域情報蓄積部130に格納される各バッファの最大帯域に従ってパケットとダミーパケットの帯域を制御して送信し、フィルタ回路160がパケットのみをパケット送信回路270に送信する。該パケットは最終的に出力回線202-iに出力されることとなる。ダミーパケットの帯域は出力回線202-iと対を成す入力回線201-iから入力したパケットの帯域と同一である。そのため、ダミーパケットとパケットの総帯域をそれぞれのパケット長331に従って制御し、該パケットだけを送信すれば、入出力回線iから入出力されるパケットの帯域を前記最大帯域以下に抑えることができる。
【００２６】
本発明の他の実施例のシェーピング部100は、帯域情報蓄積部130に蓄積された帯域を保証しつつ、入出力回線iに帯域の空きがある場合には、入出力回線iから入出力されるパケットがこの空き帯域を使用する制御を実施する。この際、帯域情報蓄積部130に格納される情報は、各バッファの最低帯域（或いは保証帯域）となり、式１および2の最大帯域の代わりに最低帯域が使用される様に変更となる。
【００２７】
シェーピング部100の動作は以下の様に変更される。前述のシェーピング部100は、リードバッファからのパケットの読み出し可否を判断する際、タイマー150の値と送信予定時刻を比較し、該送信予定時刻が過去の場合にのみ該バッファからパケットまたはダミーパケットを送信していた。しかし、本実施例のシェーピング部100は、該送信予定時刻が過去で無い場合もパケットを読み出す。本動作とすることで、本実施例のシェーピング部100は、該入出力回線iから入出力されるパケットに入出力回線iの空き帯域を割り当てることが可能となる。また、このシェーピング部100は、入出力回線iの帯域をクラス毎の重み(クラス1：W1、クラス2：W2)に比例して各クラスに割り当てることも可能である。帯域情報蓄積部130に格納される各バッファの最低帯域を各クラスの重みW1とW2に比例した値に設定すれば良い。
【図面の簡単な説明】
【００２８】
【図１】本発明を適用したシェーピング部100の構成図。
【図２】本発明を適用したパケット転送装置200の構成図。
【図３】本発明を適用したパケット転送装置200が送受信するパケットのフォーマット。
【図４】本発明のパケット転送装置200におけるパケットのフォーマット。
【図５】従来技術の課題を説明するためのネットワークを示す図。
【符号の説明】
【００２９】
21…パケットヘッダ情報
22…フロー検出結果情報
23…パケット出力回線情報
24…パケット送信起動信号
25…ダミーパケット。
【図１】
2009171372.tif 000003
【図２】
2009171372.tif 000004
【図３】
2009171372.tif 000005
【図４】
2009171372.tif 000006
【図５】
2009171372.tif 000007