(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
LAN(Local Area Network)やインターネットなどのネットワークは、パケット交換方式と呼ばれる通信方式を利用した通信網である。従来、これらのネットワークでは、ノード装置としてパケット交換機が使用される。
【0003】
従来のパケット交換方式は情報をパケットと呼ばれる単位に分割して送信する。このため、パケット単位での待ち合わせが可能となり、複数のユーザで回線を共有し、効率よく並列に転送することができる。また、パケット交換装置の記憶部に一旦パケットを蓄積して転送するので、様々な通信状況に対応できるインテリジェントなネットワークを構築することができる。
【0004】
一方、近年、ネットワークを利用して提供されるサービスやアプリケーションの多様化に伴って、様々な通信品質を保証する必要性が高まってきている。通信品質を表す指標には、データ廃棄率、伝搬遅延、伝搬遅延ゆらぎなどがある。たとえばリアルタイム性を必要とする音声/動画通信では、低廃棄率、低遅延および低ゆらぎの保証が要求される。一方、それほどリアルタイム性を必要としないデータ通信では低廃棄率の保証が要求される。
【0005】
サービスやアプリケーションの違いによって、それぞれの通信品質レベルを保証するために、サービスやアプリケーション毎に優先度を決め、その優先度に従って、パケットを出力する優先制御機能を有するパケット交換装置の要求が高まってきている。
【0006】
また、通信事業者と利用者間で、通信サービスに対応する最低帯域を保証したり、最大制限帯域で利用可能な帯域を制限したりする帯域制御機能も必要となってきている。
【0007】
そこで、このような優先制御機能や帯域制御機能を有するパケット交換装置が提案されている(例えば、特許文献1参照)。この特許文献1に開示されているパケット交換装置は、入力インタフェース、出力インタフェース及びパケット交換部を備えて構成されている。入力インタフェースは、受信したユーザパケットを優先度に従って、パケット交換部に転送する。パケット交換部は、入力インタフェースから受け取ったユーザパケットを、その宛先アドレスに基づいて、対応する出力インタフェースに送る。出力インタフェースは、ユーザパケットの優先度に応じたパケットキューと、それらのキューをグループ化したキューグループを有している。各キューグループには、通信サービス契約で定められた最低保証帯域が割り当てられていて、各キューグループからの読出し帯域を制御することにより、最低帯域の保証や、利用者間での余剰帯域の割り当ての公平性を実現している。また、キューグループからの読み出しの際に、キューグループ内の優先度に従って、読出し制御することにより、通信品質レベルが保証される。
【0008】
しかしながら、上述の特許文献1に開示されているパケット交換装置では、複数の入力インタフェースから1つの出力インタフェースにパケットを送るときに、各入力インタフェースからのパケットの合計が、パケット交換部と、出力インタフェースの間の伝送帯域を超過してしまうと、出力インタフェースにパケットが到着する前に、パケット廃棄が発生することになる。このため、帯域制御が不完全になり、最低帯域の保証や、各利用者間の公平性の維持したい場合、その実現が困難になる。
【0009】
この課題を解決した発明として、特許文献2に開示されている交換装置がある。この特許文献2に開示されているパケット交換装置は、出力インタフェースにおいて、各入力インタフェースから受け取る送信要求量に応じて送信許可量を算出し、入力インタフェースでは、送信許可量に応じて、送信を行う。出力インタフェースで帯域を管理されるので、入力インタフェースと出力インタフェースの間など、出力インタフェースが受け取るまでのパケットの廃棄がなくなり、各契約の最低帯域の保証や、各利用者間の公平性の維持が実現される。
【0010】
しかしながら、上述の特許文献2に開示されているパケット交換装置では、パケットキュー毎の送信要求量を入力インタフェースから出力インタフェースに送信し、出力インタフェースで各送信要求量と最低保証帯域などの情報から各パケットキューの送信許可量を計算し、そのパケットキュー毎の送信許可量を出力インタフェースから入力インタフェースへ送信する必要がある。そのため、パケットキューおよびパケットキューグループが多くなると、入出力インタフェース間の送受信情報の増大、および出力インタフェースでの計算処理負荷の増大等の要因により、パケット交換装置の実現が困難になる。
【0011】
この課題を解決した発明として、特許文献3に開示されている交換装置がある。この特許文献3に開示されているパケット交換装置では、入力インタフェース側から出力インタフェース側へ通知される帯域制御用の情報は各キューグループの閾値超過状態(0か1かの1ビット)である。また、特許文献3のパケット交換装置では、出力インタフェース側から入力インタフェース側へ通知される帯域制御用の情報は各キューグループ個別の送信許可量ではなく、入力インタフェース単位の送信制限帯域であるため、帯域制御用情報の伝送量の削減を可能としている。また帯域制御用情報が少なくなるため、送信制限帯域演算の処理負荷の低減を可能としている。
【発明を実施するための形態】
【0022】
(A)主たる実施形態
以下では、本発明のパケット交換装置、及びパケット交換方法の一実施形態について、図面を参照しながら詳細に説明する。
【0023】
(A−1)実施形態の構成
図1は、この実施形態のパケット交換装置10の全体構成を示すブロック図である。
【0024】
図1において、この実施形態のパケット交換装置10は、複数の入出力インタフェース部1−1〜1−N(Nは正の整数)、パケット交換部3を少なくとも有して構成される。
【0025】
入出力インタフェース部1は、入力インタフェース部100と出力インタフェース部200により構成され、入力インタフェース部100は入力ポートから入力されるパケットをパケット交換部3へ転送し、出力インタフェース部200はパケット交換部3から出力されるパケットを出力ポートへ転送する機能を有する。
【0026】
入力インタフェース部100は、パケット受信部110、方路振分部120、非輻輳ポートバッファ制御部130、複数個(L個)の輻輳ポートバッファ制御部140(140−1〜140−L)、スレーブ側帯域制御部150、及び送信制御部160を有している。
【0027】
パケット受信部110は、入力ポートからの受信パケットを受け取るものである。
【0028】
方路振分部120は、RMmパケット受信部153で受信した輻輳情報、およびパケット受信部110で受信したパケットのIPアドレス、ポート番号、その他の情報などからパケット種別を識別し、該当する後段の非輻輳ポートバッファ制御部130または輻輳ポートバッファ制御部140へ受信パケットを振り分けるものである
スレーブ側帯域制御部150は、各輻輳ポートバッファ制御部140から出力されるパケット量の帯域制御を行うものである。
【0029】
送信制御部160は、非輻輳ポートバッファ制御部130および各輻輳ポートバッファ制御部140から出力されるユーザパケットと、スレーブ側帯域制御部150から出力されるスレーブリソースマネジメントパケット(RMsパケット)と、マスター側帯域制御部230から出力されるマスターリソースマネジメントパケット(RMmパケット)を多重してパケット交換部3へ出力するものである。
【0030】
非輻輳ポートバッファ制御部130は、パケット受信部110で受信したパケットの優先識別子、その他の情報などからパケット優先度を識別し、該当する後段のパケットキューへ受信パケットを振り分けるクラス識別部131と、クラス識別部131により振り分けられたパケットを蓄積するパケットキューQ1、…、Qmと、複数のパケットキューを1つのグループとして構成されるキューグループからパケット読み出し順序を制御するQG読出制御部132を有している。
【0031】
輻輳ポートバッファ制御部140は、フロー識別部141、フロー識別部141により振り分けられたパケットを蓄積するパケットキューQ11、…、Q1m、…、Qnm、QG読出制御部142(142−1〜142−n)、及び読出制御部143を有している。
【0032】
輻輳ポートバッファ制御部140では、パケットキューQ11、…、Q1m、…、Qnmは、n個のキューグループQGに分けて管理されている。そして、各キューグループQGにはm個のパケットキューQが配置されている。ここでは、第1のキューグループQG1に、パケットキューQ11、Q12、…、Q1mが配置され、第2のキューグループQG2に、パケットキューQ21、Q22、…、Q2mが配置され、…、第nのキューグループにパケットキューQn1、Qn2、…、Qnmが配置されているものとして説明する。
【0033】
フロー識別部141は、パケット受信部110で受信したパケットのIPアドレス、ポート番号、優先識別子、その他の情報などからパケット種別を識別し、該当する後段のパケットキューグループQGのパケットキューQへ受信パケットを振り分けるものである。
【0034】
QG読出制御部142(142−1〜142−n)は、それぞれキューグループQG1〜QGnのパケット読み出し順序を制御するものである。
【0035】
読出制御部143は、各QG読出制御部142−1〜142−nから出力されたパケットを、送信制御部160に転送する処理を行う。
【0036】
スレーブ側帯域制御部150は、各キューのデータ蓄積量と各キューに設定された閾値を比較し、キューグループ毎の閾値超過状態を検出する閾値超過検出部151と、閾値超過検出部151で検出した各キューグループの閾値超過状態をマスター側帯域制御部230へ送信するためのRMsパケットを生成するRMsパケット送信部152と、マスター側帯域制御部230から送信されたRMmパケットを受信し、RMmパケットにより通知されたキューグループ毎の送信制限帯域および輻輳情報を、読出制御部143および方路振分部120に通知するRMmパケット受信部153とを有している。
【0037】
出力インタフェース部200は、受信制御部210、パケット振分部220、マスター側帯域制御部230、受信バッファ240、及びパケット送信部250を有している。
【0038】
受信制御部210は、パケット交換部3から出力されるパケットを受信し、パケット振分部220へ出力するものである。
【0039】
パケット振分部220は、ユーザパケット、RMmパケット、RMsパケットを識別し、それぞれ受信バッファ240、RMmパケット受信部153、RMsパケット受信部231へパケットを振り分けるものである。
【0040】
マスター側帯域制御部230は、複数の入力インタフェース部100から出力されたRMsパケットを受信し、それらのRMsパケットにより通知された閾値超過状態などの値から各キューグループへ割り当てる送信制限帯域を計算する。そして、マスター側帯域制御部230は、その計算された送信制限帯域をRMmパケットにより各入力インタフェース部100のスレーブ側帯域制御部150へ通知する。
【0041】
受信バッファ240は、パケット振分部220から出力されたユーザパケットを一時蓄積するものである。
【0042】
パケット送信部250は、受信バッファ240に蓄積されたパケットを出力ポートへ送信するものである。
【0043】
マスター側帯域制御部230は、RMsパケット受信部231、送信制限帯域演算部232、及びRMmパケット送信部233を有している。
【0044】
RMsパケット受信部231は、複数の入力インタフェース部100から出力されたRMsパケットを受信し、RMsパケットで通知された各キューグループの閾値超過状態を送信制限帯域演算部232へ通知するものである。
【0045】
送信制限帯域演算部232は、通知された各キューグループの閾値超過状態、最低保証帯域、およびパケット交換部3の出力バッファ320輻輳状態をもとに、各キューグループの送信帯域が公平にかつ最低保証帯域を満足するように送信制限帯域を計算するものである。
【0046】
RMmパケット送信部233は、送信制限帯域演算部232で得られた各キューグループの送信制限帯域および出力バッファ320輻輳状態を該当する入力インタフェース部100のスレーブ側帯域制御部150へ通知するRMmパケットを生成するものである。
【0047】
パケット交換部3は、入力バッファ310、出力バッファ320、パケットスイッチ330、及びフロー制御部340を有している。
【0048】
入力バッファ310は、入力インタフェース部100から出力されたパケットを受信するものである。
【0049】
パケットスイッチ330は、受信したパケットをその宛先に該当する出力インタフェース部200へ中継するものである。
【0050】
出力バッファ320は、出力インタフェース部200へパケットを出力するものである。
【0051】
フロー制御部340は、入力バッファ310が輻輳状態となった場合に、パケットを廃棄しないように、各入力インタフェース部100に対してフロー制御を実施するものである。また、パケット交換部3の出力バッファ320の輻輳状態は出力インタフェース部200の送信制限帯域演算部232から読み出しが可能な構成となっている。
【0052】
(A−2)実施形態の動作
次に、この実施形態のパケット交換装置10の動作(実施形態のパケット交換方法)について、
図2、
図3を用いて、詳細に説明する。
【0053】
図2、
図3は、この実施形態のパケット交換装置10の動作について示した説明図である。
【0054】
図2に示すパケット交換装置10の構成では、ダウンリンク側(出力側)の入出力インタフェース1−1、1−2のポート帯域をそれぞれ10Gbpsとし、アップリンク側(入力側)の入出力インタフェース1−3のポート帯域を20Gbpsとする。また、
図2に示すパケット交換装置10の構成では、入出力インタフェース1−3から入力されるパケットを入出力インタフェース1−1および入出力インタフェース1−2の出力ポートに出力する場合の動作例を説明する。また説明を簡略化するために、
図2では、各インタフェースの動作説明に必要な機能ブロックのみ図示している。
【0055】
入出力インタフェース1−3の閾値超過検出部151は、キューグループQG単位にパケット蓄積量が閾値を超えているか否かを、周期的に検出する。閾値超過判定方法としては、例えば、各キューグループQGに属するすべてのパケットキューQにそれぞれ閾値を持たせ、いずれかのパケットキューQが閾値超過状態になったらそのキューグループQGは閾値超過状態として取り扱う、あるいは、すべてのパケットキューQの合計蓄積パケット量に対して閾値を設け、その閾値に対して閾値超過状態になったらそのキューグループQGは閾値超過状態として取り扱う等の方法がある。
【0056】
各キューグループQGの閾値超過状態は、RMsパケット送信部152へ通知され、RMsパケットにより周期的に入出力インタフェース1−1および入出力インタフェース1−2のRMsパケット受信部231へ送信される。RMsパケット受信部231は、受信した各キューグループQGの閾値超過状態を送信制限帯域演算部232へ通知する。送信制限帯域演算部232は、周期的にパケット交換部3の自IFに該当する出力バッファ320輻輳状態を読み出し、出力バッファ320輻輳状態と通知された各キューグループQGの閾値超過状態と最低保証帯域(例えば、予め設定された所定の帯域)から、たとえば以下のような方法により入力インタフェース単位(アップリンク側の入出力インタフェース1単位)の送信制限帯域を計算する。
【0057】
パケット交換部3出力バッファ320が非輻輳状態の場合、すべての送信制限帯域は入力インタフェース部100−パケット交換部3間の物理帯域とする(つまり制限なし)。
【0058】
一方、パケット交換部3の出力バッファ320が輻輳状態の場合、アップリンク側の入出力インタフェース部1毎の送信制限帯域Xは、例えば、以下の(1)式を用いて算出することができる。ただし、以下の(1)式において、「i」は、アップリンク側の入出力インタフェースの識別子(以下、「インタフェース番号」とも呼ぶ)である。以下では、入出力インタフェース1−1〜1−nのインタフェース番号を、それぞれ1〜nであるものとする。
【0059】
送信制限帯域X[i]=BW x Rmin[i]/ΣRmin[i] …(1)
上記の(1)式において、「BW」はパケット交換部3と出力インタフェース部200間の物理帯域である。また、(1)式において、Rmin[i]は、アップリンク側の入出力インタフェース部1−iのなかで、閾値超過状態が超過状態となっているキューグループQGの最低保証帯域を合計した値である。さらに上記の(1)式において、ΣRmin[i]は、Rmin[i]を全てのアップリンク側の入出力インタフェース1分合計した値である。
【0060】
この実施形態では、アップリンク側の入出力インタフェース1は、入出力インタフェース1−3のみであるため、出力バッファ320輻輳時、送信制限帯域X[3]は入出力インタフェース1−1(または入出力インタフェース1−2)の物理帯域(ポート帯域)である10Gbpsとなる。
【0061】
計算された送信制限帯域および出力バッファ320の輻輳状態は、RMmパケット送信部233により、該当する入力インタフェースのRMmパケット受信部153へ送信される。RMmパケット受信部153で受信された送信制限帯域は、読出制御部143へ通知され、読出制御部143により各キューグループQGからの送信帯域が制限される。
【0062】
また、RMmパケット受信部153で受信された出力バッファ320の輻輳状態は方路振分部120へ通知され、輻輳状態にある入出力インタフェース1へ転送されるパケットは、輻輳ポートバッファ制御部140へ振り分けられ、輻輳状態にない入出力インタフェース1へ転送されるパケットは非輻輳ポートバッファ制御部130へ振り分けられる。
【0063】
読出制御部143は、読出制御部143からの出力が、通知された送信制限帯域以下になるように出力帯域を制御する。また制限された出力帯域内での各キューグループQGからのパケット出力は、キューグループQGの最低保証帯域を重みとしたラウンドロビン等の分散処理により制御する。QG読出制御部132は、読出制御部143で割り当てられた帯域内で、優先度の高いキューから完全優先制御より各キューからパケットを読み出す。
【0064】
ここで、
図2の例の場合、入出力インタフェース1−3のポート帯域が20Gbps、入出力インタフェース1−1、入出力インタフェース1−2のポート帯域が10Gbpsであり、入出力インタフェース1−1と入出力インタフェース1−2が同時に輻輳状態になることはないため、入出力インタフェース1−1が輻輳状態の時には、入出力インタフェース1−1へ転送されるパケットは輻輳ポートバッファ制御部140へ、入出力インタフェース1−2へ転送されるパケットは非輻輳ポートバッファ制御部130へ振り分けられ、入出力インタフェース1−1宛のパケットに対して帯域制御が行われることになる。逆に、入出力インタフェース1−2が輻輳状態の時には、入出力インタフェース1−2へ転送されるパケットは輻輳ポートバッファ制御部140へ、入出力インタフェース1−1へ転送されるパケットは非輻輳ポートバッファ制御部130へ振り分けられ、入出力インタフェース1−2宛のパケットに対して帯域制御が行われることになる。
【0065】
従って、入出力インタフェース1−3では、輻輳ポートバッファ制御部140を2つ搭載する必要はなく、1つ搭載されればよい。また、入出力インタフェース1−1、入出力インタフェース1−2側をダウンリンク、入出力インタフェース1−3側をアップリンクとすると、アップリンクインタフェースが20Gbps、ダウンリンクインタフェースが10Gbpsとなり、ダウンリンクインタフェース数が3以上に増加しても、同時に輻輳発生するインタフェース数は最大1であるため、輻輳ポートバッファ制御部140をダウンリンクインタフェース数分搭載する必要はなく、1つ搭載されればよい。
【0066】
次に、パケット交換装置10を
図3のような構成で動作させた場合の例について説明する。
【0067】
図3の例では、出力側(ダウンリンク側)の入出力インタフェース1−1〜1−8のポート帯域をそれぞれ10Gbps、入力側(アップリンク側)の入出力インタフェース1−9のポート帯域を40Gbpsとした場合の構成を示している。この場合は、入出力インタフェース1−9では、同時に輻輳発生するインタフェース数は最大3である。したがって、入出力インタフェース1−9において、輻輳ポートバッファ制御部140をダウンリンクインタフェース数分(8つ)搭載する必要はなく、3つ搭載されればよい。
【0068】
(A−3)実施形態の効果
この実施形態によれば、以下のような効果を奏するができる。
【0069】
パケット交換装置10では、アップリンク側の入出力インタフェース部1で、輻輳ポートバッファ制御部140を、ダウンリンクの数分全て確保(搭載)する必要はなく、同時に輻輳が発生し得る分のみ確保(搭載)すればよいため、回路規模の大きい帯域制御回路の搭載数を削減でき、より低コストで実現することができる。
【0070】
また、パケット交換装置10では、上述のように回路規模を削減しつつ、契約ユーザ間での帯域公平性(各ダウンリンクに対する帯域公平性)を実現することができる。
【0071】
(B)他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【0072】
(B−1)上記の実施形態では、ダウンリンク(出力)側の入出力インタフェース1が2つまたは8つの場合を示しているが、それ以外の場合でも同様の効果が得られる。特に、ダウンリンクインタフェース数が多く、ダウンリンクとアップリンクのポート帯域差が小さい場合、本発明のパケット交換装置を適用することの効果は大きい。