[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4742072B2 - シェーピング装置およびルータ装置 - Google Patents

シェーピング装置およびルータ装置 Download PDF

Info

Publication number
JP4742072B2
JP4742072B2 JP2007162014A JP2007162014A JP4742072B2 JP 4742072 B2 JP4742072 B2 JP 4742072B2 JP 2007162014 A JP2007162014 A JP 2007162014A JP 2007162014 A JP2007162014 A JP 2007162014A JP 4742072 B2 JP4742072 B2 JP 4742072B2
Authority
JP
Japan
Prior art keywords
packet
fifo
site
unit
multicast
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
JP2007162014A
Other languages
English (en)
Other versions
JP2009004930A (ja
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.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks 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 Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2007162014A priority Critical patent/JP4742072B2/ja
Priority to US12/026,774 priority patent/US7852762B2/en
Publication of JP2009004930A publication Critical patent/JP2009004930A/ja
Application granted granted Critical
Publication of JP4742072B2 publication Critical patent/JP4742072B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping

Landscapes

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

Description

本発明は、ネットワークを流れるパケットの帯域を制御するシェーピング装置およびルータ装置に関する。
IPネットワークで用いられるパケット型通信方式では、多数のユーザが同じ回線を共用使用できるため、帯域あたりのコストを低く抑えることができる。このパケット型通信方式の低コスト性のため、従来、専用のネットワークで実現していた各企業の電話網や業務用ネットワークをIPネットワークで実現する動きがある。このため、専用ネットワークで実現されてきた音声データやミッションクリティカルデータに対する通信品質の確保を実現することが、IPネットワークに求められている。
この通信品質を確保するためには、IPネットワークを構成するパケット中継装置が、音声データやミッションクリティカルデータの通信品質を確保するための通信品質制御機能を備えることが必要となる。通信品質制御機能としては、例えば、シェーピング機能が知られている。シェーピング機能を実行するシェーピング装置に関しては、特許文献1に記載されている。本文献記載のシェーピング装置は、固定長のパケットであるセルをコネクション(VC(Virtual Connection))毎に蓄積するキューを備え、VC毎に予め設定した帯域で該キューからパケットを送信してVC毎の帯域を確保する。IPネットワークの管理者は、例えば、トラヒックが集中する回線に本技術を適用したシェーピング装置を配置し、音声データやミッションクリティカルデータにVCを割り当てることで、本データ用の通信品質を確保する。
他のシェーピング装置としてはWFQ(Weighted Fair Queueing)が知られている。非特許文献1には、SCFQ(Self Clocked Fair Queueing)と呼ばれるアルゴリズムに基づいたWFQのシェーピング装置が記載されている。本文献のシェーピング装置は、複数のセッションk(=1〜N)を管理し、前記セッションk毎に重みWkを備える。i番目のパケットp_k_iがシェーピング装置に到着すると、この到着パケットp_k_iをキューに蓄積すると同時に、パケットp_k_i毎の変数F_k_iを下式に基づいて計算する。
F_k_i = L_k_i /Wk + max(F_k_(i−1), V(ta_k_i))
ここで、L_k_iはパケットp_k_iのパケット長、ta_k_iはパケットp_k_iの到着時刻、V(t)は時刻tにおいて出力されるパケットのF_k_iの値を返す関数である。パケット出力時に、最小のF_k_iを持つパケットp_k_iを出力することで、各セッションの重みWkに比例したパケット出力を実現する。IPネットワークの管理者は、例えば、音声データやミッションクリティカルデータに一つのセッションkを割り当ててWk /(Wkの総和)×回線帯域分の帯域を確保することで、本データ用の通信品質を確保する。
一方、IPネットワーク上で複数受信者を対象としたコンテンツ配信を実現するために、IPマルチキャスト通信の利用が進んでいる。IPマルチキャスト通信は、複数のクライアントに同一データを配信することに適した通信方式である。1対1通信のユニキャスト通信を用いると、サーバはクライアントの数だけデータ送信しなければならない。対して、マルチキャスト通信では、送信されたパケットが途中のノードでコピーされるため、サーバから該ノードまで一つのパケットを送信するだけで良い。このため、該サーバとノード間のネットワーク資源の有効活用が可能となる。
IPマルチキャストにおいては、データ(パケット)受信を希望するクライアントは上流のルータに対し、データを受信するクライアントのグループへの加入を要求する加入メッセージを送信する。加入メッセージの仕様については、例えば、非特許文献2記載のIGMPv3(Internet Group Management Protocol, Version3)や非特許文献3のMLDv2(Multicast Listener Discovery Version 2)などがある。加入メッセージには加入するグループを格納するマルチキャストIPアドレスが記載される。ルータは加入メッセージを受信すると、クライアントに到るネットワークと、メッセージ内のマルチキャストIPアドレスを対応付けて記憶する。マルチキャストパケットが入力すると、ルータはパケットヘッダの宛先IPアドレスフィールドに記載されるマルチキャストIPアドレスを抽出し、該アドレスと対応するネットワークにデータ(パケット)をコピーして転送する。
一方、データ受信を停止する際には、クライアントは離脱メッセージをルータに送信する。IGMPv3およびMLDv2の離脱メッセージに関しては前述の非特許文献2や非特許文献3に記載されている。離脱メッセージには離脱するグループを格納するマルチキャストIPアドレスが記載される。ルータは、メッセージ内のマルチキャストIPアドレスとクライアントに到るネットワークの対応付けを解除することで、データ(パケット)のコピーを停止する。
ルータにより各ネットワークにコピーされたパケットはスイッチによりクライアントにまで転送される。パケットを受信したスイッチは、そのブロードキャスト機能によりマルチキャストパケットを前記ネットワークに属する回線全てに送信する。該パケットを受信するグループに加入しているクライアントは本パケットを受信し、未加入のクライアントは廃棄する。
ブロードキャスト機能を利用したマルチキャスト配信においては、受信の必要無いクライアントにパケットが転送され、ネットワークの帯域を無駄に消費する問題がある。本課題を解決する方法として、非特許文献4記載のIGMPスヌーピングがある。非特許文献4では、スイッチが、あるグループへのIGMP加入メッセージを受信すると、メッセージを受信したクライアント行きの回線を該グループのアドレスリストに追加すると記載されている。スイッチは該グループ宛てのパケットを受信すると、リストに記載された回線にのみパケットを転送することとなる。スイッチのこの選択的パケット出力によりクライアントが存在しない回線へのパケットコピーが防止される。
特開平6−315034号公報 S.Golestani, "A Self-Clocked Fair Queueing Scheme for Broadband Applications", In proc. of INFOCOM’94, pp.636-646,1994. IETF RFC3376, Internet Group Management Protocol, Version 3. IETF RFC3810, Multicast Listener Discovery Version 2 (MLDv2) for IPv6. http://www.cisco.com/warp/public/473/22.html, "Multicast in a Campus Network: CGMP and IGMP Snooping"
特許文献1、非特許文献1記載のシェーピング装置がパケットを送信し、本パケットを受信する下流ノードがマルチキャストコピーを実施し、複数の宛先まで該パケットが転送される場合を考える。この際、該シェーピング装置には、複数の宛先に到着するパケットの総帯域を制御できないといった課題がある。以下、本課題を図3のネットワークを用いて具体的に説明する。
図3のネットワークはキャリアの提供するキャリア網901により、ある企業の本社サイト902と支社サイトA903と支社サイトB904が接続されたネットワークである。キャリア網901と支社サイトA903間の帯域として10Mbpsが、キャリア網901と支社サイトB904間の帯域として5Mbpsが保証されている。本社サイト902の端末911および端末912は、それぞれ支社サイトA903の端末921および支社サイトB904の端末931にユニキャストパケットを送信し(破線に相当)、本社サイト902のサーバ910は支社サイトAの端末922と支社サイトB904の端末932の両方に到るマルチキャストパケットを送信する(実線に相当)。このマルチキャストパケットはキャリア網901のスイッチ900でコピーされて最終的に端末922と端末932に到達する。
この際、本社サイトに位置するルータ200のシェーピング装置は、スイッチ900でのマルチキャストパケットのコピーを考慮していないため、キャリア網901から支社サイトA903への帯域と、キャリア網901から支社サイトB904へのパケット帯域を契約帯域であるそれぞれ10Mbps、5Mbps以下に制御して送信できない。このため、契約帯域を超過したパケットが発生し、キャリア網901にて廃棄される可能性がある。
また、非特許文献2乃至4においても本課題を解決する手段に関しては記載が無い。
前述した課題を解決するため、本発明のシェーピング装置は、受信したパケットを設定された帯域に制御して出力するシェーピング装置であって、受信したパケットを蓄積するバッファ部と、前記バッファ部に蓄積されたパケットを読み出すパケットリード部とを有し、前記パケットリード部は、前記出力される一つのパケットが到達する複数の宛先毎に設定された帯域に制御して前記パケットを読み出すことを特徴とする。
上記以外の本願が解決しようとする課題、その解決手段は、本願の「発明を実施するための最良の形態」の欄および図面で明らかにされる。
本発明のシェーピング装置によれば、該シェーピング装置の下流ノードがパケットのコピーを実施して複数回線に転送している際に、複数の宛先に到着するパケットの総帯域を制御することができる。
以下、図1から図22を用いて本発明に好適な実施例を説明する。ただし、本発明はこの実施例に限定されるものではない。
(1)本発明の想定するネットワーク
本発明の想定するネットワークについて図3を用いて説明する。図3のネットワークはキャリアの提供するキャリア網901により、ある企業の本社サイト902と支社サイトA903と支社サイトB904が接続されたネットワークである。キャリア網901と支社サイトA903間の帯域として10Mbpsが、キャリア網901と支社サイトB904間の帯域として5Mbpsが保証されている。
本社サイト902の端末911および端末912は、それぞれ支社サイトA903の端末921および支社サイトB904の端末931にユニキャストパケットを送信し(破線に相当)、本社サイト902のサーバ910は支社サイトA903の端末922と支社サイトB904の端末932に向けてマルチキャストパケットを送信している(実線に相当)。本発明のルータ200は端末911、912、サーバ910からのユニキャストおよびマルチキャストパケットを受信するとキャリア網901にこれらのパケットを転送する。一方、スイッチ900はユニキャストパケットを受信すると対応する端末に到る出力回線に送信し、また、マルチキャストパケットを受信すると、端末921および端末931に到る出力回線である回線1および回線2に本パケットをコピーして送信する。
ルータ200は本発明固有のシェーピング機能を備え、キャリア網901から支社サイトA903へのパケット(端末911から端末921へのパケットとサーバ910から端末922へのパケット)の帯域を契約帯域である10Mbps以下となるように制御し、キャリア網901内のバケット廃棄を防止している。同様に本シェーピング機能は、キャリア網901から支社サイトB904へのパケット(端末912から端末931へのパケットとサーバ910から端末932へのパケット)の帯域を契約帯域である5Mbps以下となるように制御している。
(2)マルチキャストパケットの通信手順
マルチキャストパケットの通信は、以下の2フェーズから構成される。以下ではそれぞれの詳細を説明する。
(フェーズ1) 端末より特定グループのマルチキャストパケットの受信を要求するフェーズ
(フェーズ2) サーバからマルチキャストパケットを配信するフェーズ
(2-1)フェーズ1
端末922および端末932は、サーバ910が送信する特定グループのマルチキャストパケットを受信するため、グループ情報を記載したマルチキャストIPアドレスを加入メッセージに格納し、ルータ200に向けて送信する。図4にIPv4のマルチキャストIPアドレスのフォーマットを示す。本アドレスの下位28ビットにグループに相当する情報が記載され、上位4ビットは常に’1110’となる。
ルータ200への途中にあるスイッチ900は、ルータ200へメッセージを転送するとともに、非特許文献4記載のスヌーピングを実施する。このスヌーピングについて図4と図5を用いて説明する。図4にはIPv4の場合のマルチキャストIPアドレスとMACアドレスの関係が示されている。MACアドレスの下位23ビットはIPv4のマルチキャストIPアドレスの下位23ビットと同一であり、上位25ビットは図4に記載された固定値となる。一方、図5はパケット転送用のデータベースであるFDB(Filtering Database)のフォーマットの一例を示している。FDB1000にはMACアドレス1001と対応する回線番号情報1002からなるエントリ1010が複数格納されている。回線番号情報1002はスイッチを構成する出力回線-k (k=1〜M)へのパケットの出力の有無を示すビット(‘1’が出力を表す)から構成される。スヌーピングでは、まず、メッセージ内のマルチキャストIPアドレスから作成されるMACアドレスを記載したエントリ1010の存在有無を判定する。この判定は、スイッチ900がMACアドレス1001と作成した宛先MACアドレスとの一致比較を行うことで実現される。
一致するエントリ1010が無い場合、該宛先MACアドレスをFDB1000内のMACアドレス1001としたエントリ1010を登録する。この際、加入メッセージが入力した回線に対応する回線番号情報1002のビットを’1’と、それ以外のビットを’0’とする。端末921および端末931からパケットを受信した場合、それぞれ回線1および回線2に対応する回線番号のビットを’1’とする。一致するエントリ1010が有る場合、該エントリ1010の回線番号情報1002のビットうち、加入メッセージが入力した回線に対応するビットを’1’とする。
本発明のルータ200が加入メッセージを受信すると、マルチキャストルーティングテーブルの設定を実施する。図6にマルチキャストルーティングテーブルの一例を示す。本マルチキャストルーティングテーブル700は、送信元IPアドレス(Source IP address)の条件であるSIP701と宛先IPアドレス(Destination IP address)の条件であるDIP702と、これらのSIP701とDIP702に対応する出力回線情報703および出力サイト情報704から構成されるエントリ710-jを複数格納する。出力回線情報703は、ルータ200を構成する各出力回線i(i=1〜N)へのパケット出力有無を示すビット(‘1’が出力を表す)から構成される。また、出力サイト情報704は各出力回線に出力されたマルチキャストパケットの各サイトへの到着有無を示すビット(‘1’が出力を表す)から構成される。本実施例の出力サイト情報704は出力サイト1、2の各ビットから構成され、図3のケースでは出力回線3の出力サイト1、2はそれぞれ支社サイトAおよび支社サイトBに対応している。
本マルチキャストルーティングテーブルの設定では、ルータ200は、まず、メッセージ内のマルチキャストIPアドレス (図4参照)およびサーバ910のアドレスと、DIP702およびSIP701が一致するエントリ710を検索する。以下では、一致するエントリ710の存在有無に応じた処理を説明する。
(a)一致するエントリ710が存在する場合
一致するエントリ710が存在する場合には、該エントリ710の出力回線情報703のビットのうち、メッセージが入力した回線に対応するビットを’1’とする。本設定により、ルータ200がサーバ910からのマルチキャストパケットを出力回線3に転送することが可能となる。さらに、メッセージ内の情報に基づき、該メッセージを送信した端末が属する支社サイトを判定し、対応する出力回線の出力サイト情報のビットを’1’とする。例えば、支社サイトAとBの使用するIPアドレスを予め決めておけば、メッセージ内の送信元IPアドレスにより送信した支社サイトを判定できる。また、各支社サイトが使用するDSCPフィールドの値を予め決めておき、この値に基づいて判定しても良い。本設定により、ルータ200がサーバ910からのマルチキャストパケットを出力回線3に転送した後、最終的にどのサイト宛にコピーされ転送されるかを把握することができる。
(b)一致するエントリ710が存在しない場合
一致するエントリ710が存在しない場合には、メッセージ内のマルチキャストIPアドレスとサーバ910のIPアドレスをエントリ710のDIP702、SIP701に備えるエントリ710を新たに作成する。また、メッセージが入力した回線に対応する出力回線情報708のビットを’1’と、それ以外のビットを’0’とする。さらに、メッセージ内の情報に基づき、該メッセージを送信した支社サイトを判定し、対応する出力回線の出力サイト情報704のビットを’1’とする。
ルータ200はこれらの処理を実施することにより、サーバ910からのパケットを転送するためのマルチキャストルーティングテーブル700を設定することができる。
図7に示す様に支社サイトA903と支社サイトB904の出入口にルータ923とルータ933が設置され、キャリア網901と支社サイトA903や支社サイトB904が別のネットワークとなっている場合について説明する。図7に示すネットワークでは、ルータ923とルータ933が端末からの加入/離脱メッセージを受信し、各ルータが加入メッセージ内のマルチキャストIPアドレスを記載した他のメッセージをルータ200に向けて送信することとなる。この際、スイッチ900およびルータ200は、他のメッセージ内のマルチキャストIPアドレスを用いてそれぞれFDB1000およびマルチキャストルーティングテーブル700を設定/設定解除すれば良い。他のメッセージとしてはPIM-SSM(Protocol-Independent Multicast - Source Specific Multicast)のPIM-Joinメッセージなどが知られている。以下の実施例では、端末が送信した加入メッセージに限定して説明するが、ルータが送信する他のメッセージを用いても同様に処理することが可能である。
(2-2)フェーズ2
本フェーズでは、サーバ910は端末921および端末931に向けてマルチキャストパケットを送信する。この際、該パケットの宛先IPアドレスと送信元IPアドレスは、端末が加入したグループに対応するマルチキャストIPアドレスとサーバ910のIPアドレスとなる。また、宛先MACアドレスは宛先IPアドレスから作成したMACアドレスとなる。
ルータ200は該パケットを受信すると、パケット内の送信元IPアドレスおよび宛先IPアドレスとマルチキャストルーティングテーブル700のSIP701、DIP702を一致比較し、一致したエントリ710に対応する出力回線情報703に従ってパケットを転送する。図3のネットワークでは、キャリア網901にのみマルチキャストパケットを送信する。この際、一致したエントリ710内の出力サイト情報704よりマルチキャストパケットが最終的に転送されるサイトが支社サイトAおよび支社サイトBであることを認識し、キャリア網901から支社サイトA903へのユニキャストパケットとマルチキャストパケットの総帯域およびキャリア網901から支社サイトB904へのユニキャストパケットとマルチキャストパケットの総帯域をそれぞれ10Mbps、5Mbps以下となるよう制御して送信する。
スイッチ900は該パケットを受信すると、該パケット内の宛先MACアドレスとFDB1000のMACアドレス1001を比較して、一致するエントリ1010内の回線番号情報1002に従い転送する。
(3)ルータの概要動作
以下では、本実施例のシェーピング機能を備えるルータの概要動作を説明する。なお、本実施例の本発明のルータ200において、下流のノードでマルチキャストコピーされるパケット(図3の実線に相当)を「仮想マルチキャストパケット」と、それ以外のパケット(図3の破線に相当)を「通常パケット」と呼ぶことにする。
図2のルータ200はパケットが入力するNの入力回線201-i(i=1-N)とNの出力回線202-i(i=1-N)と、Nのインターフェース部210-i(i=1-N)と、インターフェース部210-iを結合するスイッチ部250と、ヘッダ処理部220と、プロセッサ260から構成される。インターフェース部210-iは、入力回線201-iより受信するパケットの受信処理を行うパケット受信部230-iと、出力回線202-iヘ送信するパケットの送信処理を行うパケット送信部240-iより構成される。ヘッダ処理部220は、入力回線201より入力したパケットのヘッダ情報等に基づいて一つ乃至は複数の出力回線202-jの番号である’j’を判定する経路判定部221から構成される。
図8は入力回線201-iより入力するパケットのフォーマットの一例を示す。本フォーマットはヘッダ部310とデータ部320から構成される。ヘッダ部310はデータリンク層の送信元アドレスである送信元MACアドレス316(Source MAC Address:以下「SMAC」という。)、宛先アドレスである宛先MACアドレス317(Destination MAC Address:以下「DMAC」という。)と、ネットワーク層の送信元アドレス(送信端末のアドレス)である送信元IPアドレス311(Source IP Address:以下「SIP」という。)と、宛先アドレス(受信端末のアドレス)である宛先IPアドレス(Destination IP Address:以下「DIP」と呼ぶ。)312と、プロトコル(=上位アプリケーション)を表す送信元ポート(Source Port:以下「SPORT」と呼ぶ。)313と宛先ポート(Destination Port:以下「DPORT」と呼ぶ。)314とネットワーク内の転送優先度を表すDSCP315から構成される。また、データ部320はユーザデータ321から構成される。
図9はルータ200内部のパケットフォーマットの一例を示す。本フォーマットは図8のフォーマットに内部ヘッダ部330が備わる。この内部ヘッダ部330は入力パケットのパケット長を表すパケット長331と、該パケットが入力した回線の番号である入力回線番号332と、該パケットの出力回線の情報を格納する出力回線情報333と、該パケットが到るサイトの情報を格納するサイト番号情報334とから構成される。出力回線情報333は各出力回線に対応したビットを備え、各出力回線へパケットを出力する際には’1’が、出力しない場合には’0’が記載される。また、サイト番号情報334は各出力回線のサイトに対応したビットを備え、各出力回線に出力するパケットが各サイトに到達する場合には’1’が、到達しない場合には’0’が記載される。
以下では、パケットが入力回線201より入力し、出力回線202に出力されるまでの流れを説明する。パケットが入力回線201より入力すると図10のパケット受信部230の内部ヘッダ付加回路510は内部ヘッダ部330を付加し、該パケットのバイト長をカウントしてパケット長331に、該パケットが入力した入力回線201の番号を入力回線番号332に書き込んで、該パケットをパケット一時蓄積バッファ520に蓄積する。
さらに、パケットヘッダ送信部550は、該パケットのヘッダ部310と内部ヘッダ部330の情報を、パケットヘッダ情報21-i(i=1〜N)としてヘッダ処理部220の経路判定部221に送信する。なお、この際、出力回線情報333、サイト番号情報334の値は意味のない値となっている。図2には、図が煩雑となるため、インターフェース部210-1のみがパケットヘッダ情報21-1を送信する様に記載されているが、全てのインターフェース部210-i(i=1〜N)がパケットヘッダ情報21-iを送信する。
経路判定部221は、受信パケットのDIP312がユニキャストパケットを示す場合には受信したパケットヘッダ情報21-iのDIP312の情報から一つの出力回線の番号(出力回線番号と呼ぶ)と出力回線の下流に存在するサイトの識別子であるサイト番号を判定する。受信パケットのDIP312がマルチキャストパケットを示す場合にはSIP311とDIP312の情報から一つ乃至複数の出力回線番号と、出力回線の下流に存在するサイトのサイト番号を判定する。例えばIPv4のマルチキャストパケットの場合、DIP312は図4に示すフォーマットとなる。IPv4アドレスの32ビットの先頭4ビットは固定の”1110”であり、これらのビットを参照してマルチキャストパケットを判定すれば良い。IPv4アドレスの続く28ビットにはマルチキャストのグループが記載される。経路判定部221は、マルチキャストパケット入力時、該パケットのSIP311、DIP312とマルチキャストルーティングテーブル700(図6)のエントリ710格納のSIP701、DIP702を一致比較し、一致したエントリ710内の出力回線情報703と出力サイト情報704を、パケット出力回線情報22-iおよびパケット出力サイト情報23-iとして受信したパケットヘッダ情報21-iに対応するパケット受信部230-iに送信する。なお、図2には、図が煩雑となるため、パケット出力回線情報22-1およびパケット出力サイト情報23-1のみが記載されているが、それぞれのインターフェース部210-i(i=1〜N)に向けたパケット出力回線情報22-iおよびパケット出力サイト情報23-iが存在する。
パケット受信部230のヘッダ書き込み回路560は、パケット出力回線情報22およびパケット出力サイト情報23を出力回線情報333とサイト番号情報334に設定する。さらに、パケット読み出し回路530は本パケットをパケット一時蓄積バッファ520から読み出してスイッチ部250に送信する。
パケットを受信したスイッチ部250は、出力回線情報333の各ビットに対応するインターフェース部210のパケット送信部240にパケットを送信する。出力回線情報333の複数ビットが’1’となっている際には、パケットをコピーして対応するパケット送信部240に送信する。
図11にパケット送信部240の詳細を示す。このパケット送信部240はシェーピング部100、内部ヘッダ削除回路610およびパケット送信回路620より構成される。シェーピング部100は、サイト番号情報334よりマルチキャストパケットが最終的に転送されるサイトが支社サイトA903および支社サイトB904であることを認識し、キャリア網901から支社サイトA903へ到るパケットの帯域と、キャリア網901から支社サイトB904へ到るパケットの帯域がそれぞれ10Mbps、5Mbps以下となるよう制御して内部ヘッダ削除回路610へ送信する。
これらのパケットを受信した内部ヘッダ削除回路610は内部ヘッダ部330を削除し、パケット送信回路620に送信し、パケット送信回路620は受信したパケットを出力回線202に送信する。
(4)シェーピング部100の詳細動作
以下に本発明固有のシェーピング部100の動作を図1を用いて説明する。図1のシェーピング部100はパケットを蓄積するサイト1用のFIFO1およびサイト2用のFIFO2を備えるパケットバッファ110と、バッファ110に書き込むパケットを一時蓄積するパケット一時蓄積バッファ120と、バッファ110にパケットを書き込むパケットライト部130と、バッファ110よりパケットを読み出すパケットリード部150と、FIFO1およびFIFO2から読み出したパケットを多重して内部ヘッダ削除回路610に送信する多重回路140から構成される。本実施例ではFIFO1およびFIFO2は図3の支社サイトA903と支社サイトB904に対応する場合を説明する。
本実施例では、各出力回線のパケットが下流でコピーされ到着するサイトの数が最大で2の場合を記載しているが、サイトの数が3以上の場合には、シェーピング部100はより多くのFIFOを備え、経路判定部221が出力回線202毎に3以上のサイトを判定すれば良い。
シェーピング部100の処理はスイッチ部250からパケットを受信し、該パケットをバッファ110に書き込む際のパケットライト処理と、該パケットをバッファ110より読み出して、内部ヘッダ削除回路610に送信する際のパケットリード処理から構成される。以下では、これらの処理の詳細を説明する。
(4−1)パケットライト処理
本処理は、主にパケットライト部130により行われる処理である。スイッチ部250よりパケットを受信すると、パケット一時蓄積バッファ120は該パケットを蓄積し、内部ヘッダ部330の該パケットの出力回線に対応するサイト番号情報334をパケットライト部130に送信する。パケットライト部130の詳細を図12に示す。パケットライト部130は、FIFO1およびFIFO2に蓄積されているパケットの数をカウントするパケット数カウンタ1と2と、それぞれの閾値を格納するパケット数閾値蓄積部1と2と、制御部1000より構成される。以下、受信したパケットが仮想マルチキャストパケットである場合とない場合とに分けて説明する。
(a)受信パケットが仮想マルチキャストパケットではない場合
パケット一時蓄積バッファ120よりサイト番号情報334を通知されると、制御部1000は、サイト番号情報334に対応するパケット数カウンタ内のカウンタ値とパケット数閾値蓄積部の閾値を読み出す。カウンタ値 ≦ 閾値である場合には、パケット一時蓄積バッファ120内のパケットを、サイト番号情報334に対応するFIFOに書き込み、対応するパケット数カウンタを’1’増加させる。一方、カウンタ値 > 閾値である場合には、パケット一時蓄積バッファ120内のパケットをFIFOに書き込まない。この際、バッファ120内のパケットは最終的には後続のパケットに上書きされて廃棄される。
(b)受信パケットが仮想マルチキャストパケットの場合
パケット一時蓄積バッファ120よりサイト番号情報334を通知されると、制御部1000は、サイト番号情報334のビットが’1’であるサイトの最大帯域情報の送信依頼をパケットリード部150に対して送信する。パケットリード部150には、サイト1(支社サイトA)への最大帯域とサイト2(支社サイトB)への最大帯域:10Mbps、5Mbpsが設定されており、依頼のあったサイトに対応する値(10Mbps、5Mbps)を、パケットライト部130に送信する。制御部1000はパケットリード部150からの各サイトの最大帯域を受信すると、最大帯域が小さなサイト(図3における支社サイトB904)を第一のサイトと判定し、このサイトに対応するパケット数カウンタ内のカウンタ値とパケット数閾値蓄積部の閾値を読み出す。最大帯域が同一の場合にはサイト1を第一のサイトと判定する。
読み出したカウンタ値と閾値が、カウンタ値 ≦ 閾値の関係がある場合には、第一のサイトに対応する第一のFIFOにパケット一時蓄積バッファ120内のパケットを書き込み、第一のサイトのパケット数カウンタを’1’増加させる。一方、カウンタ値 > 閾値である場合には、パケット一時蓄積バッファ120内のパケットをFIFOに書き込まない。この際、バッファ120内のパケットは最終的には後続のパケットに上書きされて廃棄される。
本実施例にて最大帯域が小さな第一のサイトにパケットを書き込む理由は、最大帯域が大きなサイトのFIFOに仮想マルチキャストパケットが蓄積されると、このFIFOの最大帯域分の仮想マルチキャストパケットが送信される場合があるためである。この場合、この仮想マルチキャストパケットがスイッチ900でコピーされ、最大帯域の小さな支社サイトへの帯域が最大帯域を超過してしまう。
(4−2)パケットリード処理
本処理は、主に図13に示すパケットリード部150により行われる処理である。パケットリード部150は制御部1110と、サイト毎に次パケットの送信時刻(次パケット送信時刻)を格納する図14に示すパケット送信管理テーブル1120と、サイト毎の最大帯域を格納する図15に示す帯域情報蓄積部1140と、現時刻を格納するタイマー1160より構成される。
パケットリード処理を図16のフローチャートを使用して説明する。本処理は、図11のパケット送信回路620が送信する送信可能信号13をパケットリード部150が受信することで開始される。送信可能信号13は、パケット送信回路620に対応する出力回線202にパケットを送信できることを示す情報である。制御部1110は本信号を受信すると、パケットライト部130に対して、パケット数カウンタ1および2に格納されている値の送信を要求する(ステップ1401)。本要求を受信したパケットライト部130の制御部1000はパケット数カウンタ1および2の値をパケットリード部150に送信する(ステップ1402)。
パケットリード部150の制御部1110は正の整数を格納するカウンタの存在有無をチェックして、パケットが蓄積されているサイトを判定する(ステップ1403)。結果が「有り」の場合、「有り」と判定したサイトに対応するパケット送信管理テーブル1120のエントリ1121を読み出し、次パケット送信時刻が最も早い(次パケット送信時刻が最も小さい)サイトを「送信サイト」と判定する(ステップ1404)。例えば、次パケット送信時刻が図14の場合、サイト1、2ともに「有り」であれば、次パケット送信時刻が早いサイト2を「送信サイト」と判定する。また、サイト1またはサイト2の一方の結果が「有り」の場合、「有り」と判定したサイトを「送信サイト」と判定する。両サイトの結果が「無し」の場合には、前述のパケットライト処理により何れかのカウンタ値が’0’から正の整数に変化するまで待機する。この待機はシェーピング部100がステップ1401、1402、1403を再度実行することで実現される。
次にタイマー1160が示す現時刻と送信サイトの次パケット送信時刻を比較し(ステップ1405)、次パケット送信時刻 ≦ 現時刻(即ち、次パケット送信時刻が現時刻または過去の時刻)である場合には、制御部1110は、判定した送信サイトをパケット送信FIFO情報11としてパケットバッファ110に通知する(ステップ1406)。パケット送信FIFO情報11に対応するFIFOは、先頭のパケット(即ち、蓄積パケットのうち、最も過去に到着したパケット)を読み出して多重回路140に送信し、多重回路140はパケットを内部ヘッダ削除回路610に送信すると同時に、内部ヘッダ部330のパケット長331とサイト番号情報334を送信パケット長情報12としてパケットリード部150に送信する(ステップ1407)。
このようにパケットリード部150は、次パケット送信時刻に基づいてパケットバッファ110のFIFOからパケットを読み出すタイミングを調整することによって、設定された帯域に制御している。
一方、次パケット送信時刻 > 現時刻(即ち、次パケット送信時刻が未来の時刻)の場合、次パケット送信時刻となるまで待機する必要がある。この待ち時間の間にパケットライト処理により、FIFOにパケットが蓄積されパケット数カウンタ1または2の値が0から正の整数に変化する場合があるが、この際、次パケット送信時刻が最も早い「送信サイト」が変化する可能性がある。例えば、パケット数カウンタ1と2の値が、それぞれ3と0であってパケット送信管理テーブル1120の格納値がそれぞれ図14に記載された値である場合を考える。タイマー1160の値が2であり、サイト1のパケット出力を待機している時に、サイト2のパケットが入力すると、次パケット送信時刻がより早いサイト2が送信サイトとなる。この様なケースに対応するため、次パケット送信時刻 < 現時刻 である場合には、再度ステップ1401から1405を実施する。ステップ1401から1405のループの間に、次パケット送信時刻を過ぎ、ステップ1406、1407が終了する。
次に制御部1110は帯域情報蓄積部1140よりサイト番号情報334のビットが’1’のサイトに対するエントリ1341を読み出す(ステップ1408)。送信するパケットが仮想マルチキャストパケットの場合には、エントリ1341-1およびエントリ1341-2が読み出されることとなる。したがって、仮想マルチキャストパケットの場合は、実際にパケットが蓄積されているFIFOに対応するサイトの帯域情報だけではなく、該仮想マルチキャストパケットが到達する全てのサイトの帯域情報が読み出されることとなる。次に、読み出したサイトj(j = 1, 2)の最大帯域jと多重回路140より受信した送信パケット長情報12内のパケット長(Byte)から決まる各サイト毎の次パケット送信時刻をそれぞれ計算する(ステップ1409)。サイトjの新しい次パケット送信時刻jである次パケット送信時刻j(新規)は、現在の次パケット送信時刻jである次パケット送信時刻j(現在)を用いた以下の式1で表される。
次パケット送信時刻j(新規) = max(現時刻, 次パケット送信時刻j(現在)) + パケット長(Byte)×8/最大帯域j(bit/秒)・・・式1
ここでmaxの項に現時刻と次パケット送信時刻j(現在)が記載されている理由について説明する。パケットが仮想マルチキャストパケットであって、現時刻にパケットを送信しない第二のFIFO(対応するサイトを第二のサイト(図3における支社サイトA903)とする)の次パケット送信時刻j(新規)について考える。制御部1110は、送信パケットが通常パケットであれば現時刻にパケットを送信しない第二のFIFOの次パケット送信時刻j(新規)を計算し直す必要はないが、仮想マルチキャストパケットの場合は第一のFIFOから送信された仮想マルチキャストパケットが下流のスイッチ900で第二のサイト宛てにコピーされることを考慮するため、あたかも現時刻に第二のFIFOよりパケットを送信したかの様に次パケット送信時刻j(新規)を計算する。この際、第一のFIFOから送信した仮想マルチキャストパケットのパケット長と第二のサイトの最大帯域とから決まるパケット間隔を空ける様に、maxの項に現時刻を加え、現時刻から前記パケット間隔だけ未来の時刻を次パケット送信時刻j(新規)とする。
また、第二のFIFOの次パケット送信時刻j(現在)に関係なく第一のFIFOからパケットが送信されてしまうため、第二のFIFOの次パケット送信時刻j(現在)が現時刻より未来である場合もあり得る。この場合、パケット間隔という観点で見ると、第二のサイトに最大帯域を超過してパケットが送信されてしまう。そこで、送信帯域を抑制するために、maxの項に次パケット送信時刻j(現在)を加えることで、現時刻ではなく、より未来の次パケット送信時刻j(現在)から新たな次パケット送信時刻j(新規)を判定する。本項を加えることにより、パケット毎の間隔を最大帯域とパケット長より決まる時間間隔とはできないが、より長期間のタイムレンジでの送信帯域を最大帯域以下に抑えることができる。
具体例を図17を用いて説明する。図17では、パケットAが第二のFIFOから送信され、パケットB(コピーされ第二のサイトに到達する仮想マルチキャストパケット)が現時刻に他の第一のFIFOから送信されている。現時刻における第二のFIFOの次パケット送信時刻jは現時刻より未来の次パケット送信時刻Bである。この際、式1に従えば、次パケット送信時刻Cが次パケット送信時刻(新規)として計算される。本来であれば、第二のFIFOの観点から見れば、最大帯域を遵守するために現時刻ではなく次パケット送信時刻BにパケットBを送信し、パケット送信時刻Cに次のパケットを送信すべきである。しかし、次パケット送信時刻Cを次パケット送信時刻(新規)と判定すれば、パケット毎に最大帯域を守ることは出来ないが、時間tに出力されるパケット量を最大帯域以下に抑えることができる(パケットBが送信される時刻が早いだけとなる)。
以上は、第二のFIFOから実際にパケットが送信されない場合について説明したが、通常パケットであるか或いはFIFOから実際に送信される仮想マルチキャストパケットについては、最大帯域とパケット長に対応する間隔だけ現時刻から経過した時刻を次パケット送信時刻j(新規)とすれば最大帯域を守ることができる。現時刻≧次パケット送信時刻(現在)であるため、式1を使用して次パケット送信時刻j(新規)を計算できる。
次パケット送信時刻j(新規)の計算後、パケット送信管理テーブル1120に新たな次パケット送信時刻jを書き戻す(ステップ1410)。最後に、制御部1110は、パケット送信するFIFOに対応するパケット数カウンタの減算要求をパケットライト部130に送信し(ステップ1411)、パケットライト部130の制御部1000は対応するパケット数カウンタの値を’1’減算する(ステップ1412)。
以上に説明したように本実施例のパケットリード部150はFIFOからあるサイトへ向けて仮想マルチキャストパケットを送信する際に、実際に送信されたFIFOに加えて他のサイトへ向かうFIFOの次パケット送信時刻も更新する。これにより、下流のスイッチ900でコピーされるパケット分の帯域を考慮して帯域制御可能であり、支社サイトA903と支社サイトB904に到着するパケットの最大帯域を10Mbps、5Mbps以下に抑えることができる。
すなわち、本実施形態では、一つの仮想マルチキャストパケットが到達する複数の宛先(例えば支社サイトA903と支社サイトB904)毎に設定された帯域(10Mbps、5Mbps)に制御してパケットをFIFOから読み出し、出力する点が一つのポイントである。また、該ポイントを言い換え、他の表現でも本実施形態を捉えることができる。例えば、図3を参照しながら説明すると、一つの回線(回線3)から出力される一つの仮想マルチキャストパケットが、該回線3と接続される複数の回線(回線1、回線2)に出力される場合に、該複数の回線(回線1、回線2)毎に設定された帯域(10Mbps、5Mbps)に制御してパケットをFIFOから読み出し、出力する。もしくは、一つの回線(回線3)から出力される一つの仮想マルチキャストパケットが、該回線3を経由して到達する複数の宛先(支社サイトA903、支社サイトB904)に出力される場合に、該複数の宛先毎に設定された帯域(10Mbps、5Mbps)に制御してパケットをFIFOから読み出し、出力する。という表現で本実施形態を捉えることもできる。
以上の実施例では、帯域情報が各サイトの最大帯域である場合を説明したが、それ以外の帯域情報、例えば、各サイトの最低帯域である場合が考えられる。この際、各サイトの最低帯域を確保してパケットを送信しつつ、出力回線202の帯域に余剰が存在する場合には、最低帯域を超えて送信する。
最低帯域を確保するシェーピング部100の帯域情報蓄積部1140は、最大帯域の代わりに最低帯域をエントリ1341に格納することとなる。図18の設定値の場合、サイト1とサイト2の最低帯域はそれぞれ3Mbps、2Mbpsである。シェーピング部100はステップ1409における次パケット送信時刻jを、下記の式2に基づいて計算する。
次パケット送信時刻j(新規) = max(現時刻, 次パケット送信時刻j(現在)) + パケット長(Byte)×8/最低帯域j(bit/秒)・・・式2
さらに、各サイトに帯域に余剰がある際にパケットを出力するため、ステップ1405では次パケット送信時刻の値に関係なくステップ1406に進む。本ステップ1405の変更により余剰分が各サイトの最低帯域の比率に基づき分配される。
また、本実施例のシェーピング部100は、出力回線201の総帯域を各サイトの重みWに基づいて分配するWFQ(Weighted Fair Queueing)を実現することも可能である。前述した様に、本実施例の帯域情報蓄積部1140に最低帯域が記載されたシェーピング部100は、回線帯域を最低帯域の比率で各サイトに割り当てる。そのため、帯域情報蓄積部1140に設定される最低帯域の値として、各サイトのWに比例した任意の帯域が設定されれば、シェーピング部100はWFQを実現できる。
(5)シェーピング部の代わりに帯域監視部を用いた実施例
以上では、バッファを備えるシェーピング部100の一実施例を説明した。キャリア網901から支社サイトA903への帯域とキャリア網901から支社サイトB904への帯域を制御するために、ルータ200がシェーピング部100の代わりに図19記載の帯域監視部2000を備えていても良い。帯域監視部2000は各サイトに到るパケットの帯域を監視し、支社サイトA903への帯域と支社サイトB904への帯域がそれぞれ10Mbps、5Mbpsを超過する際にパケットを廃棄して、各サイトへの帯域を契約帯域以下に制御する。
以下では、帯域監視部2000の詳細動作を図19乃至21を用いて説明する。本監視部2000の帯域監視のアルゴリズムとして固定長パケットであるセルの監視アルゴリズムであるcontinuousstate Leaky Bucket Algorithm(以下リーキーバケットアルゴリズム)を可変長パケットの帯域監視用に拡張したアルゴリズムを使用する。リーキーバケットアルゴリズムはある深さを持った穴の空いた漏れバケツのモデルで、バケツに水が入っている間は監視帯域で水は漏れ、セル到着時にはバケツに1セル分の水が注ぎ込まれる。セルの到着揺らぎを許容するためにバケツに深さを持ち、バケツが溢れないうちは入力セルは遵守と、溢れると違反と判定される。本実施例ではパケット到着時に注ぎ込む水の量を可変とすることにより、可変長パケットの帯域監視を実現する。
本アルゴリズムに基づく帯域監視を実行する帯域監視部2000は帯域監視テーブル制御部2050と、バケツ蓄積量判定部2010と、監視結果判定部2020と、帯域監視テーブル2030と、一時蓄積バッファ2040と、制御部2060より構成される。図20に帯域監視テーブル2030のフォーマットを示す。前記帯域監視テーブル2030はサイト毎の帯域監視制御情報2100-k(k=1〜2)より構成される。帯域監視部2000は一つの帯域監視制御情報2100-kにより1サイトの帯域監視を実行する。帯域監視制御情報2100-kはバケツの容量に対応するTHR 2101-k(Byte) (Threshold)と、バケツから水が漏れる速度であり最大帯域を表すPOLR 2102-k(Byte/sec)(Policing Rate)と、到着パケットに対応する水が前回バケツに蓄積した時刻TS 2103-k(sec)(Time Stamp)と、バケツに蓄積している水量に対応するCNT 2104-k(Byte)(Count)より構成される。
図21に帯域監視部2000のフローチャートを示す。帯域監視部2000の処理は帯域監視開始処理2200、バケツ蓄積量判定処理2210、監視結果判定処理2220である。後の2処理はそれぞれバケツ蓄積量判定部2010と、監視結果判定部2020が主に実行する。
帯域監視部2000の制御部2060が、通常パケット乃至仮想マルチキャストパケットを受信すると、一時蓄積バッファ2040に該パケットを蓄積する。さらに、パケット長331の情報を監視結果判定部2020のパケット長蓄積部2022に蓄積する(ステップ2201)。次に、サイト番号情報334を帯域監視テーブル制御部2050の帯域監視テーブル制御回路2051へ送信する(ステップ2202)。
帯域監視テーブル制御回路2051はサイト番号情報334を受信すると、’1’であるビットに対応するサイト番号を帯域監視テーブル2030のアドレスとして帯域監視制御情報2100を読み出し、THR 2101を監視結果判定部2020のTHR蓄積部2023に、POLR 2102とTS 2103とCNT 2104をバケツ蓄積量判定部2010のそれぞれPOLR蓄積部2013、TS蓄積部2014、CNT蓄積部2015に蓄積する(ステップ2203)。帯域監視部2000が受信するパケットが通常パケットの場合には、帯域監視制御情報2100は一つのみ読み出され蓄積されるが、仮想マルチキャストパケットの場合には二つの帯域監視制御情報2100が読み出され蓄積される。最後に制御部2060は、制御部2060が備えるカウンタ値:kを受信したサイト番号情報334が’1’のビットのサイトのうち最も小さなサイト番号の値とする(ステップ2204)。
バケツ蓄積量判定処理2210では、バケツ蓄積量判定部2010はパケット入力直前のバケツの水の量(バケツ蓄積量)を判定する。まず、バケツ蓄積量判定回路2011が現時刻をカウントするタイマー2012の値(単位はsec)とTS蓄積部2014内のTS 2103-k(sec)との差分を計算し、バケツに水が前回蓄積されてから経過した経過時間k(sec)を計算する(ステップ2211)。次に経過時間k(sec)にPOLR蓄積部2013内のPOLR 2102-k(Byte/sec)を乗じて、バケツに水が前回蓄積されてから漏れた水の量(バケツ減少量k)を計算する(ステップ2212)。さらに、CNT蓄積部2015内のCNT 2104-kからバケツ減少量kを減算してパケットが入力する直前のバケツ蓄積量を判定する(ステップ2213)。前記バケツ蓄積量kの正負を判定し(ステップ2214)、判定結果が負の場合にはバケツ蓄積量kを’0’(バケツは空)に修正する(ステップ2215)。
監視結果判定処理2220では、監視結果判定部2020の監視結果判定回路2021は一時蓄積バッファ2040内のパケットに相当する水がバケツに入るか否かを判定する。まず、監視結果判定回路2021はバケツ蓄積量判定処理2210で判定されたバケツ蓄積量k(Byte)にパケット長(Byte)を加算する(ステップ2221)。監視結果判定回路2021はTHR蓄積部2023に蓄積されているバケツの容量THR 2101-kと前記加算値との大小比較を行う(ステップ2222)。バケツ蓄積量k+パケット長>THR-2101-k、即ち、バケツが溢れてしまう時には、一時蓄積バッファ2040に蓄積されているパケットを違反パケットと判定して「違反」を表す帯域監視結果情報31を帯域監視テーブル制御部2050の帯域監視テーブル制御回路2051に送信する(ステップ2228)。一方、バケツ蓄積量k+パケット長≦THR 2101-kの時には、監視結果判定回路2021は一時蓄積バッファ2040内のパケットのサイト番号情報334を参照し、ビットの値が’1’のサイトであってサイト番号が制御部2060内のカウンタ値:kより大きなサイトが存在する場合には、このサイト番号のうち最小の値をkに再設定し(ステップ2224)、ステップ2211に戻り再度ステップ2211〜2223を実施する。ビットの値が’1’のサイトであってカウンタ値:kより大きなサイト番号のサイトが存在しない場合、入力パケットを遵守パケットと判定し、「遵守」を表す帯域監視結果情報31を帯域監視テーブル制御回路2051と制御部2060に送信し、「バケツ蓄積量m(m=1,2)+パケット長」の値をバケツ蓄積量情報32-m(m=1,2)として帯域監視テーブル制御回路2051に送信する(ステップ2225)。帯域監視テーブル制御回路2051は「遵守」を表示した帯域監視結果情報31を受信すると、バケツ蓄積量情報32-m(m=1,2)とタイマー2012の値を、それぞれ帯域監視直後のバケツ蓄積量およびパケットの到着時刻として、帯域監視テーブル2030のCNT 2104-m(m=1,2)とTS 2103-m(m=1,2)に書き込み(ステップ2226)、制御部2060は一時蓄積バッファ2040内のパケットを内部ヘッダ削除回路610に送信する(ステップ2227)。一方、帯域監視テーブル制御回路2051は「違反」を表示した帯域監視結果情報31を受信すると前記ステップ2223から2227を行わない。この際、一時蓄積バッファ2040内のパケットは最終的には後続のパケットに上書きされて廃棄される。以上の処理が終了すると帯域監視は終了する(ステップ2229)。
上記処理を行うことにより通常パケットに対しては、対応する宛先サイトの契約帯域内であれば「遵守」と、帯域外であれば「違反」と判定される。一方、仮想マルチキャストパケットに対しては、サイト1およびサイト2へ到るパケットの帯域が契約帯域内であれば「遵守」と、両方あるいは一方のサイトへ到るパケットの帯域が契約帯域以上であれば「違反」と判定される。
以上に説明したように本発明の帯域監視部2000は、「遵守」と判定された場合、ステップ2225において通常パケットであれば該パケット対応するサイトのCNT2104に対してのみパケット長が加算されるが、仮想マルチキャストパケットであれば、サイト1、2のCNT2104にパケット長が加算される。このため、本発明の帯域監視部2000は仮想マルチキャストパケットを送信する際、下流のスイッチ900でコピーされるパケットを考慮して両サイトにパケット送信したかの様に振る舞い、キャリア網901から支社サイトA903およびキャリア網901から支社サイトB904へのパケットの帯域をそれぞれ10Mbps、5Mbps以下に抑えることができる。
(6)出力サイト情報704の静的設定方法
ルータ200の管理者が、マルチキャストルーティングテーブル700の出力サイト情報704を、外部の管理端末10から設定する場合について説明する。(1)において加入メッセージにより動的に出力サイト情報704を設定する場合を説明したが、スイッチ900がマルチキャストコピーを常に行っている状況では、動的に出力サイト情報704を設定する必要は無い。このようなケースとしてはスイッチ900がスヌーピングを実装しておらず、マルチキャストパケットを全回線にコピーして転送する場合等が考えられる。
図22に管理端末10に入力されるコマンドの一例を示す。このコマンド:site_infoは、ある送信元IPアドレス、宛先IPアドレスとこれらの組み合わせから決まるエントリ700内のある出力回線のサイト番号情報を設定するコマンドである。これらのSIP、DIP、出力回線、サイト番号情報はそれぞれ2301、2302、2303、2304に記載される。例えば、1行目のコマンドは送信元IPアドレス、宛先IPアドレスがそれぞれSIP1、DIP1であるエントリ700内サイト番号情報のうち、出力回線番号’1’に対応するサイト番号情報を’11’に設定するコマンドである。コマンドを受けたプロセッサ260はコマンド入力されたSIP2301およびDIP2302と、エントリ710内のSIP701とDIP702を一致比較し、一致エントリ710内の2303記載の出力回線に対応するサイト番号情報704を、コマンドの2304の値に設定する。
シェーピング部100の構成の一例を示す。 ルータ200の構成の一例を示す。 本発明の想定するネットワークを示す。 マルチキャストIPアドレスおよびマルチキャストMACアドレスのフォーマットを示す。 FDB1000の構成の一例を示す。 マルチキャストルーティングテーブル700の一例を示す。 本発明の想定するネットワークを示す。 ルータ200が送受信するパケットのフォーマットの一例を示す。 ルータ200におけるパケットのフォーマットの一例を示す。 パケット受信部230の構成の一例を示す。 パケット送信部240の構成の一例を示す。 パケットライト部130の一構成例を示す。 パケットリード部150の一構成例を示す。 パケット送信管理テーブル1120の構成の一例を示す。 帯域情報蓄積部1140の構成の一例を示す。 パケットリード部150のフローチャートである。 シェーピング部100より出力されるパケットタイミングを示す。 帯域情報蓄積部1140の構成の一例を示す。 帯域監視部2000の構成の一例を示す。 帯域監視テーブル2030の構成の一例を示す。 帯域監視部2000のフローチャートである。 マルチキャストルーティングテーブル700の出力サイト情報704を設定するコマンドの一例を示す。
符号の説明
11…パケット送信FIFO情報、12…送信パケット長情報、13…送信可能信号、21…パケットヘッダ情報、22…パケット出力回線情報、23…パケット出力サイト情報、31…帯域監視結果情報、32…バケツ蓄積量情報、100…シェーピング部、110…パケットバッファ、120…パケット一時蓄積バッファ、130…パケットライト部、140…多重回路、150…パケットリード部、260…プロセッサ

Claims (8)

  1. 受信したパケットを設定された帯域に制御して出力するシェーピング装置であって、
    前記パケットが到達する宛先に対応して設けられた複数のFIFOを有するバッファ部と、
    前記複数のFIFO毎に設定された帯域に基づいて計算した次パケット送信時刻を前記複数のFIFO毎に保持し、前記次パケット送信時刻に基づいて前記複数のFIFOからパケットを読み出すパケットリード部とを有し、
    前記受信したパケットが複数の宛先に到達するマルチキャストパケットである場合、前記バッファ部は前記マルチキャストパケットが到達する複数の宛先に対応する複数のFIFOのうち所定の一つのFIFOに前記マルチキャストパケットを蓄積し、
    前記パケットリード部は、前記マルチキャストパケットを前記所定のFIFOから読み出した場合、
    前記所定のFIFOに蓄積され、かつ、前記マルチキャストパケットの次に読み出されるパケットの次パケット送信時刻を計算し、さらに、前記マルチキャストパケットが到達する複数の宛先に対応する複数のFIFOのうち前記マルチキャストパケットが蓄積された所定のFIFO以外のFIFOに蓄積され、かつ、次に読み出されるパケットの第一の次パケット送信時刻を第二の次パケット送信時刻に変更することを特徴とする。
  2. 請求項記載のシェーピング装置であって、
    前記パケットリード部の変更は、前記第の次パケット送信時刻と前記マルチキャストパケットのパケット長と前記所定のFIFO以外のFIFOに設定された帯域とに基づくことを特徴とする。
  3. 請求項1または請求項2記載のシェーピング装置であって、
    前記複数のFIFO毎に設定された帯域は、第一の帯域と第二の帯域を含み、
    前記パケットリード部は、前記第一の帯域と第二の帯域のうち、帯域の小さい方に合わせて前記パケットの読み出しを行うことを特徴とする。
  4. 請求項1乃至請求項3のいずれかに記載のシェーピング装置であって、
    前記マルチキャストパケットが蓄積される所定のFIFOに設定される帯域は、前記所定FIFO以外のFIFOに設定される帯域より小さい帯域であることを特徴とする。
  5. ネットワークと接続され、該ネットワークから受信したパケットを他のネットワークへ転送するルータ装置であって、
    前記パケットを受信する受信部と、
    前記受信部で受信したパケットの出力回線および該パケットが到達する宛先を判定する経路判定部と、
    前記経路判定部が判定した出力回線からパケットを送信する送信部とを備え、
    前記送信部は少なくとも第一の宛先に対応する第一のFIFOと第二の宛先に対応する第二のFIFOとを備え、
    前記送信部は、前記第一および第二の宛先毎に設定された帯域に基づいて計算した第一の宛先への第一の次パケット送信時刻と第二の宛先への第二の次パケット送信時刻とを保持し、前記第一および第二の次パケット送信時刻に基づいて前記第一および第二のFIFOからパケットを読み出し、
    前記受信したパケットが第一の宛先および第二の宛先に到達するマルチキャストパケットである場合、前記バッファ部は第一のFIFOに前記マルチキャストパケットを蓄積し、
    前記送信部は、前記マルチキャストパケットを前記第一の次パケット送信時刻に基づいて前記第一のFIFOから読み出すと、
    前記第一のFIFOに蓄積され、かつ、前記マルチキャストパケットの次に読み出される第一のパケットの次パケット送信時刻を計算し、さらに、前記第二のFIFOに蓄積され、かつ、次に読み出される第二のパケットの前記第二の次パケット送信時刻を第三の次パケット送信時刻に変更することを特徴とする。
  6. 請求項記載のルータ装置であって、
    前記送信部の変更は、前記第の次パケット送信時刻と前記マルチキャストパケットのパケット長と前記第二の宛先に設定された帯域とに基づくことを特徴とする。
  7. 請求項5または請求項6記載のルータ装置であって、
    前記複数の宛先毎に設定された帯域は、第一の帯域と第二の帯域を含み、
    前記パケットリード部は、前記第一の帯域と第二の帯域のうち、帯域の小さい方に合わせて前記パケットの送信を行うことを特徴とする。
  8. 請求項5乃至請求項7のいずれかに記載のルータ装置であって、
    前記マルチキャストパケットが蓄積される第一のFIFOに対応する前記第一の宛先に設定される帯域は、前記第二のFIFOに対応する前記第二の宛先に設定される帯域より小さい帯域であることを特徴とする。
JP2007162014A 2007-06-20 2007-06-20 シェーピング装置およびルータ装置 Expired - Fee Related JP4742072B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007162014A JP4742072B2 (ja) 2007-06-20 2007-06-20 シェーピング装置およびルータ装置
US12/026,774 US7852762B2 (en) 2007-06-20 2008-02-06 Shaping device and router device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007162014A JP4742072B2 (ja) 2007-06-20 2007-06-20 シェーピング装置およびルータ装置

Publications (2)

Publication Number Publication Date
JP2009004930A JP2009004930A (ja) 2009-01-08
JP4742072B2 true JP4742072B2 (ja) 2011-08-10

Family

ID=40136367

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007162014A Expired - Fee Related JP4742072B2 (ja) 2007-06-20 2007-06-20 シェーピング装置およびルータ装置

Country Status (2)

Country Link
US (1) US7852762B2 (ja)
JP (1) JP4742072B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101500251B1 (ko) * 2010-12-17 2015-03-06 닛본 덴끼 가부시끼가이샤 통신 시스템, 노드, 패킷 전송 방법 및 프로그램을 기록한 컴퓨터 판독가능 기록 매체
WO2016006907A1 (ko) * 2014-07-07 2016-01-14 엘지전자 주식회사 하이브리드 방송 신호 송수신 장치 및 송수신 방법
CN104683495B (zh) * 2015-02-09 2018-04-06 新华三技术有限公司 一种mac表项的管理方法和设备
US10230653B2 (en) * 2016-12-08 2019-03-12 Infinera Corporation Managing latencies in data center interconnect switches using spare line side bandwidth and multiple paths inside the data center
CN109743250B (zh) * 2018-12-07 2020-09-04 华为技术有限公司 组播报文的传输方法、第一网络设备和第二网络设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000124953A (ja) * 1998-10-15 2000-04-28 Fujitsu Ltd バッファ制御方法及びバッファ制御装置
JP2003134160A (ja) * 2001-10-25 2003-05-09 Matsushita Electric Ind Co Ltd 帯域保証システム、中継装置、及び、ネットワーク管理サーバ

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06315034A (ja) 1993-04-28 1994-11-08 Nippon Telegr & Teleph Corp <Ntt> セル流制御装置およびatm通信網
US6532213B1 (en) * 1998-05-15 2003-03-11 Agere Systems Inc. Guaranteeing data transfer delays in data packet networks using earliest deadline first packet schedulers
JP3624363B2 (ja) * 1998-11-10 2005-03-02 富士通株式会社 Atm装置における帯域制御装置
US6633540B1 (en) * 1999-07-02 2003-10-14 Nokia Internet Communications, Inc. Real-time traffic shaper with keep-alive property for best-effort traffic
JP2001230810A (ja) * 2000-02-16 2001-08-24 Fujitsu Ltd パケット流量制御装置および方法
JP2003018204A (ja) * 2001-07-02 2003-01-17 Hitachi Ltd フロー検出機能を備えたパケット転送装置およびフロー管理方法
JP4394988B2 (ja) * 2004-03-19 2010-01-06 富士通株式会社 パケット読出し制御方法及び装置
CN100466603C (zh) * 2005-05-17 2009-03-04 华为技术有限公司 对网络中传输的业务流进行整形的方法及装置
US7929532B2 (en) * 2005-11-30 2011-04-19 Cortina Systems, Inc. Selective multicast traffic shaping

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000124953A (ja) * 1998-10-15 2000-04-28 Fujitsu Ltd バッファ制御方法及びバッファ制御装置
JP2003134160A (ja) * 2001-10-25 2003-05-09 Matsushita Electric Ind Co Ltd 帯域保証システム、中継装置、及び、ネットワーク管理サーバ

Also Published As

Publication number Publication date
US7852762B2 (en) 2010-12-14
JP2009004930A (ja) 2009-01-08
US20080316924A1 (en) 2008-12-25

Similar Documents

Publication Publication Date Title
JP2977029B2 (ja) 高速atmセル伝送を使用したインターネットプロトコルスイッチング方法及びそのためのネットワーク
US6563794B1 (en) Boundary device for performing a connection control at a boundary between two communications networks
Davik et al. IEEE 802.17 resilient packet ring tutorial
US7672324B2 (en) Packet forwarding apparatus with QoS control
JP4547339B2 (ja) 送信制御機能を備えるパケット中継装置
Borden et al. Integration of real-time services in an IP-ATM network architecture
JPH0486044A (ja) 広帯域通信網、エンドユーザ端末、通信網、広帯域通信ノード、通信ノード、インターフェースアダプタ、マルチポイント接続インターフェース、マルチポイント接続制御装置及びアクセスユニット
JPH11103298A (ja) パケット伝送制御方法および装置
JP2000244507A (ja) 境界装置及びそのコネクション設定方法
EP0669780A2 (en) A medium access control protocol for single bus fair access local area network
US7092359B2 (en) Method for distributing the data-traffic load on a communication network and a communication network for implementing this method
Nagami et al. Toshiba's Flow Attribute Notification Protocol (FANP) Specification
Gerla et al. Internetting LAN's and MAN's to B-ISDN's for Connectionless Traffic Support
JP4742072B2 (ja) シェーピング装置およびルータ装置
JP3688525B2 (ja) パケットフロー制御方法及びルータ装置
Basturk et al. Design and implementation of a QoS capable switch-router
JPH11103297A (ja) パケット伝送制御方法および装置
US6493345B1 (en) Single sender private multicast server for use with LAN emulation in asynchronous transfer mode networks
CN101534203B (zh) 一种组播控制的方法、设备和系统
JP3686345B2 (ja) 通信品質保証方法
JP2004241835A (ja) 品質保証型データストリームを転送するための受付判定方法、閉域ip網、そのプログラム
JP3121800B2 (ja) 広帯域通信網
JP3132842B2 (ja) ラベル交換網におけるコネクションレス型通信方式とコネクション型通信方式との多重方式
Grossglausera et al. SEAM: An Architecture for Scalable and E cient ATM Multipoint-to-Multipoint Communication
Lai et al. SDRAM: a SD channel-based multicast scheme on ATM networks for multimedia transmissions

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090701

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110324

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110509

R150 Certificate of patent or registration of utility model

Ref document number: 4742072

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees