以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
(実施の形態1)
《中継装置の基本構成》
図1(a)は、本発明の実施の形態1による中継装置において、その主要部の概略構成例を示すブロック図であり、図1(b)は、図1(a)におけるロジカルポートテーブルの構造例を示す概略図であり、図1(c)は、図1(a)におけるFDBの構造例を示す概略図である。図11(a)は、図1(a)の比較例となる中継装置において、その主要部の概略構成例を示すブロック図であり、図11(b)は、図11(a)におけるFDBの構造例を示す概略図である。
まず、図11(a)に示す比較例の中継装置SW’は、複数の物理ポートPP1,PP2,…と、フレーム処理部15’とを備える。フレーム処理部15’は、FDB(Forwarding DataBase)と、当該FDBの学習および検索を行うFDB処理部17と、帯域制御部18’とを備える。図11(a)の例では、物理ポートPP1に接続される通信回線10aの先に端末TM1,TM2が存在し、物理ポートPP2に接続される通信回線10bの先に端末TM3が存在している。端末TM1,TM2,TM3は、それぞれ、MACアドレスが“MA1”,“MA2”,“MA3”であり、VLAN識別子VIDとして“VID1”,“VID2”,“VID3”が割り当てられるものとする。
この場合、図11(b)に示されるように、FDBには、“MA1”と“VID1”とに対応付けてポート識別子{PP1}が学習される。ポート識別子{PP1}は、物理ポートPP1の識別子(ID)を表し、本明細書では、同様にして、例えば{AA}は、“AA”の識別子を表すものとする。また、図11(b)のFDBには、“MA2”と“VID2”とに対応付けてポート識別子{PP1}が学習され、“MA3”と“VID3”とに対応付けてポート識別子{PP2}が学習される。
図1(a)〜図1(c)に示す中継装置SWは、ロジカルポート機能によって、当該図11(a)の中継装置SW’と等価な構成を実現するものである。図1(a)に示す中継装置SWは、特に限定はされないがOSI参照モデルのレイヤ2(L2)の処理を行うL2スイッチ等であり、物理ポートPPh1と、フレーム処理部15とを備える。フレーム処理部15は、ロジカルポートテーブル(以降、LPテーブルと略す)19と、当該LPテーブルに基づく処理を行うテーブル処理部16と、FDBと、当該FDBの学習および検索を行うFDB処理部17と、帯域制御部18とを備える。
ここで、図1(a)の例では、図11(a)の場合と異なり、物理ポートPPh1に接続される通信回線10の先に図11(a)の場合と同様の端末TM1,TM2,TM3が存在している。この場合、LPテーブル19は、ユーザ設定に基づき、図1(b)に示されるように、予め、1個の物理ポートPPh1と、単数または複数のVLAN識別子との組み合わせを1個のロジカルポートに対応付けて保持する。具体的には、LPテーブル19は、ポート識別子{PPh1}とVLAN識別子“VID1”および“VID2”との組み合わせをロジカルポートLP1(ポート識別子{LP1})に対応付けて保持し、ポート識別子{PPh1}とVLAN識別子“VID3”との組み合わせをロジカルポートLP2(ポート識別子{LP2})に対応付けて保持する。
ロジカルポートLP1は、図11(a)の物理ポートPP1と等価なポートであり、ロジカルポートLP2は、図11(a)の物理ポートPP2と等価なポートである。このように、ロジカルポートは、1個の物理ポートPPh1に複数の物理ポートを仮想的に実装するための仕組みを提供するものである。図11(a)において、仮に、物理ポートが10個有り、各物理ポートの帯域が10Gbps等の場合、当該構成を図1(a)の構成に置き換えると、例えば、100Gbpsの帯域を持つ物理ポートPPh1を設け、当該物理ポートに10個のロジカルポートを設ければよい。
テーブル処理部16は、物理ポートPPh1でフレームを受信した場合に、LPテーブル19に基づいてロジカルポートを取得する。FDB処理部17は、当該フレームに含まれる送信元MACアドレスを、テーブル処理部16で取得されたロジカルポートに対応付けてFDBに学習する。具体的には、テーブル処理部16は、物理ポートPPh1で、端末TM1からの送信元MACアドレス“MA1”およびVLAN識別子“VID1”を含むフレームを受信した場合、ロジカルポートテーブル19に基づいてポート識別子{LP1}を取得する。FDB処理部17は、図1(c)に示されるように、当該送信元MACアドレス“MA1”をポート識別子{LP1}に対応付けてFDBに学習する。
同様に、テーブル処理部16は、物理ポートPPh1で端末TM2からのフレームを受信した場合、ポート識別子{LP1}を取得する。FDB処理部17は、当該フレームの送信元MACアドレス“MA2”をポート識別子{LP1}に対応付けてFDBに学習する。さらに、テーブル処理部16は、物理ポートPPh1で端末TM3からのフレームを受信した場合、ポート識別子{LP2}を取得する。FDB処理部17は、当該フレームの送信元MACアドレス“MA3”をポート識別子{LP2}に対応付けてFDBに学習する。
また、FDB処理部17は、受信したフレームに含まれる宛先MACアドレスを用いてFDBを検索することで、宛先のロジカルポートを定める。具体的には、FDB処理部17は、例えば、図示しない物理ポートで、宛先MACアドレス“MA1”を含むフレームを受信した場合、“MA1”を検索キーとしてFDBを検索し、宛先となるポート識別子(宛先ポート識別子と呼ぶ){LP1}を取得する。
テーブル処理部16は、宛先ポート識別子がロジカルポートのポート識別子である場合、LPテーブル19に基づいて、当該宛先ポート識別子{LP1}を、物理ポートのポート識別子(ここでは{PPh1})に置き換える。フレーム処理部15は、当該受信したフレームを、宛先ポート識別子{PPh1}に対応する物理ポートPPh1に中継する。
なお、ここでは、FDB処理部17は、例えば、端末TM1からのフレームに応じて、MACアドレス“MA1”をポート識別子{LP1}に対応付けてFDBに学習したが、これに加えてVLAN識別子“VID1”を学習してもよい。この場合、FDB処理部17は、前述した宛先検索に際し、“MA1”および“VID1”を検索キーとしてFDBを検索する。
このようなロジカルポート機能を用いることで、例えば、コストの低減等が実現可能になる。すなわち、図1(a)の構成を用いることで、図11(a)の構成で必要とされた複数の物理ポートおよび複数の通信回線(例えば光ファイバ)を、1個の物理ポートおよび1本の通信回線に置き換えることができる。
《帯域制御部の動作》
ここで、図11(a)の中継装置SW’において、帯域制御部18’は、例えば、物理ポートPP1から送信されるフレームに対し、前述した優先制御(QoS)機能を用いて、“VID1”のフレームと“VID2”のフレームとに、それぞれ10Gbpsの範囲内で5Gbpsずつの最低帯域を設定するようなことが可能である。また、帯域制御部18’は、例えば、物理ポートPP2から送信される“VID3”のフレームに対し、10Gbpsの最低帯域を設定することができる。しかし、帯域制御部18’は、例えば、“VID1”のフレームと“VID2”のフレームの最低帯域をそれぞれ15Gbpsの範囲内で設定するといったように、物理ポートPP1の物理的な送信帯域の制約を逸脱した設定を行うことは困難である。
一方、図1(a)の中継装置SWにおいて、帯域制御部18は、ロジカルポート単位で帯域を制御することができる。具体的には、帯域制御部18は、例えば、ロジカルポートLP1を宛先ポートとするフレームの送信帯域を15Gbpsに定め、ロジカルポートLP2を宛先ポートとするフレームの送信帯域を5Gbpsに定めること等が可能である。これにより、図11(a)に示したような従来の物理ポートの物理的な帯域の制約から開放される。すなわち、等価的に、従来の物理ポート間で帯域の受け渡しを行うことができる。その結果、帯域制御の柔軟性を更に向上させることが可能になる。
以上、本実施の形態1の中継装置を用いることで、代表的には、帯域制御の柔軟性を向上させることが可能になる。また、ロジカルポートを用いることによって、コストの低減等が図れる。
(実施の形態2)
《中継システムの構成》
図2は、本発明の実施の形態2による中継システムにおいて、主要部の構成例を示す概略図である。図2に示す中継システムは、通信回線を介して接続される複数の中継装置を備える。図2において、中継装置SW1〜SW3,SW’1〜SW’3は、例えば、L2スイッチ等である。また、図2に示す中継システムは、VLAN識別子に基づく中継を行うネットワークNWを備える。ここでは、VLAN識別子として、IEEE802.1ah(PBB(Provider Backbone Bridge)規格とも呼ばれる)に基づくバックボーンVLAN識別子BVIDが用いられる。ネットワークNWは、例えば、PBB−TE(Traffic Engineering)網等であり、中継装置や通信回線等によって適宜構成される。
中継装置SW1〜SW3のそれぞれは、物理ポートPPh1,PPh2を備える。中継装置SW1〜SW3の物理ポートPPh1は、それぞれ、通信回線10を介してネットワークNWに接続される。中継装置SW1〜SW3の物理ポートPPh2は、それぞれ、通信回線10を介して中継装置SW’1〜SW’3に接続される。ここでは、中継装置SW’1〜SW’3に、それぞれ、端末TM1〜TM3が接続される。端末TM1,TM2,TM3は、それぞれ、MACアドレスが“MA1”,“MA2”,“MA3”であり、VLAN識別子VIDとして、IEEE802.1adに基づくサービスVLAN識別子“SVID1”,“SVID2”,“SVID3”が割り当てられるものとする。
中継装置SW1〜SW3のそれぞれは、特に限定はされないが、ここでは、PB(Provider Bridge)網と、PBB網11との間のフレーム中継を担えるエッジスイッチとなっている。PB網は、サービスVLAN識別子SVIDが用いられる網であり、PBB網11は、PBB規格に基づくバックボーンVLAN識別子BVID(およびサービスインスタンス識別子ISID)が用いられる網である。例えば、端末TM1〜TM3は、同一の会社に所属する端末である。中継装置SW1〜SW3は、同一の会社におけるそれぞれ異なる拠点に設定され、この拠点間の通信が、中継装置SW1〜SW3をエッジスイッチとするPBB網11で行われる。
ここで、中継装置SW1〜SW3の物理ポートPPh1,PPh2には、実施の形態1で説明したロジカルポートが設定される。中継装置SW1の物理ポートPPh1には、バックボーンVLAN識別子“BVID1”,“BVID2”にそれぞれ対応付けてロジカルポートLP1_1,LP1_2が設定される。中継装置SW1の物理ポートPPh2には、サービスVLAN識別子“SVID1”に対応付けてロジカルポートLP2_1が設定される。
同様に、中継装置SW2の物理ポートPPh1には、“BVID1”,“BVID3”にそれぞれ対応付けてロジカルポートLP1_1,LP1_2が設定され、物理ポートPPh2には、“SVID2”に対応付けてロジカルポートLP2_1が設定される。さらに、中継装置SW3の物理ポートPPh1には、“BVID3”,“BVID2”にそれぞれ対応付けてロジカルポートLP1_1,LP1_2が設定され、物理ポートPPh2には、“SVID3”に対応付けてロジカルポートLP2_1が設定される。
ネットワークNWは、中継装置SW1から“BVID1”を含むフレームを受信した場合には、それを中継装置SW2に向けて中継し、“BVID2”を含むフレームを受信した場合には、それを中継装置SW3に向けて中継する。また、ネットワークNWは、中継装置SW2から“BVID1”を含むフレームを受信した場合には、それを中継装置SW1に向けて中継し、“BVID3”を含むフレームを受信した場合には、それを中継装置SW3に向けて中継する。さらに、ネットワークNWは、中継装置SW3から“BVID3”を含むフレームを受信した場合には、それを中継装置SW2に向けて中継し、“BVID2”を含むフレームを受信した場合には、それを中継装置SW1に向けて中継する。
このようなVLAN構成により、中継装置SW1,SW2間は、双方のロジカルポートLP1_1によって接続され、中継装置SW1,SW3間は、双方のロジカルポートLP1_2によって接続される。また、中継装置SW2,SW3間は、中継装置SW2のロジカルポートLP1_2と中継装置SW3のロジカルポートLP1_1とによって接続される。
以上のように、ロジカルポートLP1_1,LP1_2を用いることで、例えば、中継装置SW1とネットワークNWとの間を複数(例えば2個)の物理ポートおよび複数(例えば2本)の通信回線ではなく、1個の物理ポートPPh1および1本の通信回線10で接続することが可能になる。これは、中継装置SW2,SW3に関しても同様である。その結果、中継システムを低コストで構築することが可能になる。
《中継装置の構成》
図3は、図2における中継装置の主要部の概略構成例を示すブロック図である。図4(a)は、図3におけるロジカルポートテーブルの構造例を示す概略図であり、図4(b)は、図3におけるFDBの構造例を示す概略図である。図3には、図2における中継装置SW1〜SW3の概略構成例が示される。図4(a)および図4(b)には、図2の中継装置SW1が備えるLPテーブルおよびFDBの構造例が示される。図3の中継装置SWは、物理ポートPPh1,PPh2と、LPテーブル19と、テーブル処理部16と、FDBと、FDB処理部17と、帯域制御部18とを備える。
LPテーブル19は、図4(a)に示されるように、ユーザ設定等に基づき、物理ポートとVLAN識別子VIDとの組み合わせをロジカルポートに対応付けて保持する。例えば、ポート識別子{LP1_1}は、ポート識別子{PPh1}と“BVID1”とに対応付けて保持され、ポート識別子{LP1_2}は、ポート識別子{PPh1}と“BVID2”とに対応付けて保持される。また、ポート識別子{LP2_1}は、ポート識別子{PPh2}と“SVID1”とに対応付けて保持される。
テーブル処理部16は、物理ポートでフレームを受信した場合に、LPテーブル19に基づいてロジカルポートを取得し、また、宛先ポートがロジカルポートである場合に、LPテーブル19に基づいて宛先ポートを物理ポートに置き換える。FDB処理部17は、FDBの学習に際し、受信したフレームに含まれる送信元MACアドレスを、テーブル処理部16で取得されたロジカルポートに対応付けてFDBに学習する。また、FDB処理部17は、FDBの宛先検索に際し、受信したフレームに含まれる宛先MACアドレスを用いてFDBを検索し、宛先ポート識別子を取得する。
例えば、図1の中継装置SW1のFDB処理部17は、ロジカルポートLP2_1で端末TM1からのフレームを受信した場合に、図4(b)に示されるように、“MA1”をポート識別子{LP2_1}に対応付けてFDBに学習する。また、当該FDB処理部17は、ロジカルポートLP1_1で端末TM2からのフレームを受信した場合に、“MA2”をポート識別子{LP1_1}に対応付けてFDBに学習する。一方、当該FDB処理部17は、例えば、宛先MACアドレスが“MA2”であるフレームを受信した場合、FDBの検索結果に基づき、宛先ポート識別子{LP1_1}を取得する。
帯域制御部18は、ここでは、イーグレス側に設けられ、複数のキュー(第1キュー)QE_LP1_1,QE_LP1_2,QE_LP2_1,…と、取り出し制御部(第1取り出し制御部)20とを備える。キューQE_LP1_1,QE_LP1_2,QE_LP2_1は、それぞれ、ロジカルポートLP1_1,LP1_2,LP2_1に対応して設けられ、例えばFIFO(First In First Out)メモリ等である。
このように、キューは、ロジカルポート毎に設けられ、ロジカルポート毎の所定のデータをそれぞれ蓄積する。具体的には、例えば、FDB処理部17から宛先ポート識別子{LP1_1}が付加されたフレームを受信した場合、当該フレームをキューQE_LP1_1に蓄積し、宛先ポート識別子{LP1_2}が付加されたフレームを受信した場合、当該フレームをキューQE_LP1_2に蓄積する。ただし、キューに蓄積するデータは、必ずしもフレームに限らず、特許文献1の場合と同様に、ロジカルポート毎の中継処理命令等であってもよい。
取り出し制御部20は、予めユーザの設定等に基づくロジカルポート毎の帯域設定情報21に基づき、複数のキューQE_LP1_1,QE_LP1_2,QE_LP2_1,…のそれぞれからデータを取り出す。例えば、物理ポートPPh1の送信帯域が100Gbpsとして、図2において中継装置SW3よりも中継装置SW2が設けられる拠点の方に多数の端末が収容されるような場合を想定する。この場合、例えば、ユーザは、帯域設定情報21として、ロジカルポートLP1_1に70Gbpsの最低帯域を設定し、ロジカルポートLP1_2に30Gbpsの最低帯域を設定する。取り出し制御部20は、この最低帯域を満たすように、例えばシェーピング等を行いながらキューQE_LP1_1,QE_LP1_2のそれぞれからデータを取り出す。
なお、取り出し制御部20の帯域制御方式は、シェーピングやポリシングといった純粋な意味での帯域制御方式に限らず、優先制御(QoS)方式を適用することも可能である。すなわち、取り出し制御部20は、ロジカルポート単位で優先制御を行ってもよい。優先制御方式として、代表的には、帯域設定情報21に基づき各キューの優先度を定め、常に優先度順に送信するPQ(Priority Queuing)方式や、帯域設定情報21に基づき各キューの重み付けを定め、当該重み付けに従って送信するCQ(Custom Queuing)方式や、これらの組合せ等が知られている。
取り出し制御部20は、このようにして各キューから取り出したデータ(例えばフレーム)をテーブル処理部16へ送信する。テーブル処理部16は、LPテーブル19に基づき、宛先ポートをロジカルポートから物理ポートに変換し、フレームにLPテーブル19に基づくVLAN識別子を設定する。その結果、当該VLAN識別子が設定されたフレームが、宛先ポートとなる物理ポートから送信される。
例えば、取り出し制御部20が、宛先MACアドレス“MA2”および宛先ポート識別子{LP1_1}を含むフレームをキューQE_LP1_1から取り出した場合を想定する。この場合、テーブル処理部16は、LPテーブル19に基づき、宛先ポート識別子{LP1_1}に対応する物理ポートのポート識別子{PPh1}と、VLAN識別子VIDとなるバックボーンVLAN識別子“BVID1”とを取得する。その結果、“BVID1”を含んだフレームが、宛先ポートとなる物理ポートPPh1から送信される。
なお、当該物理ポートPPh1から送信されたフレームは、“BVID1”に基づき、図2のネットワークNWを介して中継装置SW2へ転送される。中継装置SW2は、当該フレームをロジカルポートLP1_1(物理ポートPPh1)で受信し、FDBの宛先検索に基づき、当該フレームをロジカルポートLP2_1(物理ポートPPh2)に中継する。その結果、当該フレームは、中継装置SW’2を介して端末TM2で受信される。
以上、本実施の形態2の中継装置および中継システムを用いることで、実施の形態1の場合と同様に、代表的には、帯域制御の柔軟性を向上させることが可能になり、また、コストの低減等が図れる。すなわち、ロジカルポートを用いることで、例えば、中継装置SW1とネットワークNWとの間を2個の物理ポートおよび2本の通信回線ではなく、1個の物理ポートPPh1および1本の通信回線10で接続することができる。そして、ロジカルポート単位で帯域制御を行うことで、2個の物理ポートを用いる場合の物理的な帯域に制約されずに帯域制御を行うことが可能になる。
なお、ここでは、PBB網11を用い、バックボーンVLAN識別子BVIDで経路を選択するような中継システムを例としたが、必ずしもPBB網11を用いる必要はなく、一般的なVLAN識別子を用いて経路を制御するような中継システムであってもよい。また、中継システムのネットワークトポロジは、特に、図2のようなトポロジに限定されるものではなく、リング型、メッシュ型、ツリー型等を代表に様々なトポロジを用いることができる。
(実施の形態3)
《中継装置の詳細構成》
図5は、本発明の実施の形態3による中継装置において、主要部の構成例を示すブロック図である。図5に示す中継装置SWは、ここでは、1個の筐体内に複数のカードを搭載したシャーシ型のL2スイッチとなっている。当該中継装置SWは、単数または複数(ここでは2枚)の高帯域用のラインカードLCh1,LCh2と、単数または複数(ここでは1枚)の低帯域用のラインカードLCl1と、ファブリック経路部25とを備える。ラインカードLCh1,LCh2,LCl1のそれぞれは、装置外部との間でフレームの通信(送信および受信)を行う。ファブリック経路部25は、各ラインカード間でフレームを中継する。
高帯域用のラインカードLCh1,LCh2は、それぞれ、物理ポートPPh1,PPh2と、ファブリック用端子FPとを備える。物理ポートPPh1,PPh2のそれぞれは、実施の形態1等で述べたようなロジカルポートの設定対象となるポートである。物理ポートPPh1,PPh2のそれぞれは、例えば、100Gbps等の通信回線10に接続される。一方、低帯域用のラインカードLCl1は、n個の物理ポートPPl1〜PPlnと、ファブリック用端子FPとを備える。物理ポートPPl1〜PPlnは、ロジカルポートの設定非対象となるポートである。物理ポートPPl1〜PPlnのそれぞれは、例えば、10Gbps等の通信回線26に接続される。
ファブリック用端子FPは、ファブリック経路部25に接続され、ファブリック経路部25を介して他のラインカードのファブリック用端子FPに接続される。ファブリック経路部25は、例えば、スイッチング機能を備えたファブリックカードで構成される場合や、フルメッシュ状の配線を備えた配線基板(バックプレーン)で構成される場合がある。前者の場合、ファブリック用端子FPは、ファブリックカードに接続され、ファブリックカードによるスイッチングを介して他のラインカードのファブリック用端子FPに接続される。後者の場合、ファブリック用端子FPは、複数の端子で構成され、この複数の端子が、それぞれ、バックプレーン上に設けられたフルメッシュ状の配線を介して、他のラインカードの対応する端子に接続される。以降では、後者の場合を想定して説明を行う。
図6は、図5の中継装置において、高帯域用のラインカードの構成例を示すブロック図である。図7(a)は、図6におけるLCテーブルの構造例を示す概略図であり、図7(b)は、図6におけるポートテーブルの構造例を示す概略図であり、図7(c)は、図6におけるFDBの構造例を示す概略図であり、図7(d)は、図6におけるVID変換テーブルの構造例を示す概略図である。図7(a)〜図7(d)には、一例として、図2の中継装置SW1が備える各テーブル等の保持内容が示される。
図6において、外部インタフェース部30は、物理ポートPPhでフレームを受信した際に、受信したラインカードおよび物理ポートを示す受信ポート識別子を付加し、それを中継処理部31またはプロセッサ部CPUに送信する。また、外部インタフェース部30は、中継処理部31またはプロセッサ部CPUからのフレームを、宛先ポート識別子に基づく物理ポートPPhへ送信する。
中継処理部31は、テーブル処理部16と、VID変換部35と、FDB処理部17とを備える。テーブル処理部16は、LPテーブル19として、イングレスLPテーブル19aとイーグレスLPテーブル19bとを備える。イングレス/イーグレスLPテーブル19a,19bのそれぞれは、図4(a)に示したような構造を備える。
テーブル処理部16は、自ラインカードの物理ポートPPhでフレームを受信した場合、イングレスLPテーブル19aに基づいて、受信ポート識別子{PPh}およびVLAN識別子からロジカルポートのポート識別子を取得する。一方、テーブル処理部16は、当該物理ポートからフレームを送信する場合、イーグレスLPテーブル19bに基づいて、宛先ポート識別子(ロジカルポートのポート識別子となる)から物理ポートのポート識別子およびVLAN識別子を取得する。テーブル処理部16は、このようにして取得した各識別子をフレームに付加する。
VID変換部35は、VID変換テーブル36として、イングレスVID変換テーブル36aとイーグレスVID変換テーブル36bとを備える。イングレス/イーグレスVID変換テーブル36a,36bのそれぞれは、図7(d)に示されるように、予めユーザ設定等に基づき、サービスVLAN識別子SVIDを内部VLAN識別子IVIDに対応付けて保持し、バックボーンVLAN識別子BVIDおよびサービスインスタンス識別子ISIDを内部VLAN識別子IVIDに対応付けて保持する。
例えば、図7(d)の例では、図2のPB網での“SVID1”と、PBB網11での“BVID1”および“ISID1”と、“BVID2”および“ISID1”とが共に“IVID1”に対応付けられる。すなわち、この例では、同一の会社に属する端末TM1〜TM3が“IVID1”によって同一のフラッディングドメインに設定され、各拠点が“BVID1”および“BVID2”によって区別されるような設定となっている。
VID変換部35は、自ラインカードの物理ポートPPhがPB網に接続される場合で、当該物理ポートでフレームを受信した場合、イングレスVID変換テーブル36aに基づいて、サービスVLAN識別子SVIDを内部VLAN識別子IVIDに変換する。一方、VID変換部35は、当該物理ポートからフレームを送信する場合、イーグレスVID変換テーブル36bに基づいて、内部VLAN識別子IVIDをサービスVLAN識別子SVIDに変換する。
また、VID変換部35は、自ラインカードの物理ポートPPhがPBB網に接続される場合で、当該物理ポートでフレームを受信した場合、イングレスVID変換テーブル36aに基づいて、バックボーンVLAN識別子BVIDおよびサービスインスタンス識別子ISIDを内部VLAN識別子IVIDに変換する。一方、VID変換部35は、当該物理ポートからフレームを送信する場合、イーグレスVID変換テーブル36bに基づいて、内部VLAN識別子IVIDをバックボーンVLAN識別子BVIDおよびサービスインスタンス識別子ISIDに変換する。VID変換部35は、このようにして変換した各識別子をフレームに付加する。
FDB処理部17は、自ラインカードの物理ポートPPhでフレームを受信した際に、FDBの学習と、FDBに基づく当該フレームの宛先検索を行う。具体的には、FDBの学習に際し、FDB処理部17は、図7(c)に示されるように、受信したフレームに含まれる送信元MACアドレスと、VID変換部35で変換された内部VLAN識別子IVIDとを、テーブル処理部16で取得されたロジカルポートのポート識別子に対応付けてFDBに学習する。
この際に、より詳細には、受信したフレームがIEEE802.1ahに基づくカプセル化フレームの場合(すなわち自ラインカードの物理ポートPPhがPBB網に接続される場合)、FDB処理部17は、送信元MACアドレスとして、送信元カスタマ用MACアドレスCMACと、送信元カプセル化用MACアドレスBMACとを学習する。一方、受信したフレームがIEEE802.1adに基づく非カプセル化フレームの場合(すなわち自ラインカードの物理ポートPPhがPB網に接続される場合)、FDB処理部17は、送信元MACアドレスとして送信元カスタマ用MACアドレスCMACを学習する。
また、FDBに基づく宛先検索に際し、FDB処理部17は、受信したフレームに含まれる宛先MACアドレスと、VID変換部35で変換された内部VLAN識別子IVIDとを検索キーとしてFDBを検索する。この際に、より詳細には、受信したフレームがカプセル化フレームであり、かつ、宛先カプセル化用MACアドレスBMACが自装置宛てである場合、FDB処理部17は、宛先カスタマ用MACアドレスCMACおよび内部VLAN識別子IVIDを検索キーとしてFDBを検索し、宛先ポート識別子を取得する。
また、受信したフレームがカプセル化フレームであり、かつ、宛先カプセル化用MACアドレスBMACが他装置宛てである場合、FDB処理部17は、宛先カプセル化用MACアドレスBMACおよび内部VLAN識別子IVIDを検索キーとしてFDBを検索し、宛先ポート識別子を取得する。一方、受信したフレームが非カプセル化フレームである場合、FDB処理部17は、宛先カスタマ用MACアドレスCMACおよび内部VLAN識別子IVIDを検索キーとしてFDBを検索し、宛先ポート識別子または加えて宛先カプセル化用MACアドレスBMACを取得する。
FDB処理部17は、このような検索結果によって得られる宛先ポート識別子(または加えて宛先カプセル化用MACアドレスBMAC)を、受信したフレームに付加して内部インタフェース部32へ送信する。この際に、FDB処理部17は、検索結果がミスヒットの場合(宛先MACアドレスがマルチキャスト(以降、MCと略す)アドレスの場合を含む)には、受信したフレームにMCフラグを付加する。
内部インタフェース部32は、図3に示したような帯域制御部18と、MC処理部37とを備える。MC処理部37は、LCテーブル38aとポートテーブル38bとを備える。内部インタフェース部32は、中継処理部31から、MCフラグが付加されていないフレームを受信した場合、当該フレームをそのままファブリック用端子FPへ送信する。一方、内部インタフェース部32は、中継処理部31から、MCフラグが付加されたフレームを受信した場合、MC処理部37を用いてマルチキャスト中継を行う。
LCテーブル38aは、図7(a)に示されるように、内部VLAN識別子IVIDと、単数または複数のラインカード識別子との対応関係を保持する。ポートテーブル38bは、図7(b)に示されるように、内部VLAN識別子IVIDと、単数または複数のロジカルポート識別子/物理ポート識別子との対応関係を保持する。単数または複数のロジカルポート識別子/物理ポート識別子は、自ラインカードが備えるポートの範囲内で定められる。
例えば、図7(b)には、図5のラインカードLCh1が備えるポートテーブル38bの保持内容が示される。当該ポートテーブル38bは、“IVID1”とポート識別子{LP1_1},{LP1_2}との対応関係を保持する。図示は省略するが、同様に、図5のラインカードLCh2のポートテーブル38bは、“IVID1”とポート識別子{LP2_1}との対応関係を保持する。
MC処理部37は、MCフラグが付加されたフレームを中継処理部31から受信した場合、LCテーブル38aに基づき単数または複数の宛先のラインカードを定め、宛先の数だけフレームを複製すると共に、当該複製されたフレームにそれぞれ宛先のラインカード識別子を付加してファブリック用端子FPへ送信する。また、MC処理部37は、MCフラグが付加されたフレームをファブリック用端子FPで受信した場合、ポートテーブル38bに基づき単数または複数の宛先ポートを定め、宛先の数だけフレームを複製すると共に、当該複製されたフレームにそれぞれ宛先ポート識別子を付加して帯域制御部18へ送信する。
帯域制御部18は、図3の場合と同様に、宛先ポート識別子(ロジカルポートのポート識別子)毎のキューを備える。帯域制御部18は、宛先ポート識別子が付加されたフレーム(ユニキャストフレーム)をファブリック用端子FPで受信した場合や、前述したように、MC処理部37を介して宛先ポート識別子が付加されたフレーム(MCフレーム)を受信した場合に、当該フレームを宛先ポート識別子に対応するキュー(第1キュー)に蓄積する。そして、図3の場合と同様に、帯域制御部18の取り出し制御部(第1取り出し制御部)20は、帯域設定情報21に基づき各キューからデータ(例えばフレーム)を取り出し、中継処理部31へ送信する。
ここで、外部インタフェース部30は、帯域制限部33を備える。帯域制限部33は、キュー(第2キュー)QE_PPhと、取り出し制御部(第2取り出し制御部)34とを備える。キューQE_PPhは、帯域制御部18の取り出し制御部20によって取り出され、中継処理部31を介して送信されたデータ(例えばフレーム)を蓄積する。取り出し制御部34は、物理ポートPPhの送信帯域に基づき、例えばシェーピング等を行いながらキューQE_PPhからデータを取り出し、物理ポートPPhへ送信する。
プロセッサ部CPUは、RAMに格納されたプログラムを実行することで、例えば、自ラインカードの管理や、中継処理部31と連携して複雑なプロトコルの処理等を行う。なお、外部インタフェース部30および内部インタフェース部32のそれぞれは、例えば、ASIC(Application Specific Integrated Circuit)等に実装される。また、中継処理部31は、例えば、内蔵RAMを含んだFPGA(Field Programmable Gate Array)等に実装され、FDBは、例えば、CAM(Content Addressable Memory)等に実装される。ただし、各部の具体的な実装形態は、勿論、これに限定されるものではなく、ハードウェアまたはソフトウェアあるいはその組合せを用いて適宜実装されればよい。
《中継装置のフレーム中継動作》
図8は、本発明の実施の形態3による中継システムにおいて、図2の中継システムでマルチキャストフレームを中継する際の概略動作例を示す説明図である。図9は、図8における中継装置の詳細な動作例を示す説明図である。図8において、中継装置SW1は、端末TM1からのマルチキャストフレームMCFn1を物理ポートPPh2で受信する。当該マルチキャストフレームMCFn1は、送信元MACアドレス(SA)である“MA1”と、宛先MACアドレス(DA)である所定のマルチキャストアドレス(以降、MCAと略す)と、サービスVLAN識別子“SVID1”とを含んでいる。中継装置SW1は、この物理ポートPPh2と“SVID1”との組合せを用いてLPテーブル19を参照することで、当該フレームをロジカルポートLP2_1で受信する。
また、中継装置SW1は、受信したフレームMCFn1の宛先MACアドレスがMCAであるため、MC処理部37を用いて、当該フレームをロジカルポートLP1_1,LP1_2に中継する。この際に、中継装置SW1は、ロジカルポートLP1_1に中継するフレームに対してはVLAN識別子として“BVID1”を付加し、ロジカルポートLP1_2に中継するフレームに対してはVLAN識別子として“BVID2”を付加する。ネットワークNWは、“BVID1”が付加されたフレームを中継装置SW2に中継し、“BVID2”が付加されたフレームを中継装置SW3に中継する。
中継装置SW2は、“BVID1”が付加されたフレームを物理ポートPPh1で受信する。中継装置SW2は、当該物理ポートPPh1と“BVID1”との組合せを用いて自装置のLPテーブル19を参照することで、当該フレームをロジカルポートLP1_1で受信する。中継装置SW2は、受信したフレームの宛先MACアドレスがMCAであるため、MC処理部37を用いて当該フレームをロジカルポートLP2_1に中継する。その結果、当該フレームは、端末TM2で受信される。
同様に、中継装置SW3は、“BVID2”が付加されたフレームを物理ポートPPh1で受信する。中継装置SW3は、当該物理ポートPPh1と“BVID2”との組合せを用いて自装置のLPテーブル19を参照することで、当該フレームをロジカルポートLP1_2で受信する。中継装置SW3は、受信したフレームの宛先MACアドレスがMCAであるため、MC処理部37を用いて当該フレームをロジカルポートLP2_1に中継する。その結果、当該フレームは、端末TM3で受信される。
図9には、図8における中継装置SW1の動作例が示される。図9において、まず、ラインカードLCh2は、物理ポートPPh2で、端末TM1からのフレーム(非カプセル化フレーム)MCFn1を受信する。当該フレームMCFn1には、送信元MACアドレス(SA)“MA1”、宛先MACアドレス(DA)“MCA”およびサービスVLAN識別子“SVID1”が含まれる。なお、詳細には、送信元MACアドレスおよび宛先MACアドレスは、送信元カスタマ用MACアドレス(CSA)および宛先カスタマ用MACアドレス(CDA)となる。
外部インタフェース部30は、当該受信したフレームに受信ポート識別子{PPh2}を付加した上で中継処理部31へ送信する。中継処理部31において、テーブル処理部16は、イングレスLPテーブル19aに基づき、受信ポート識別子{PPh2}およびサービスVLAN識別子“SVID1”からロジカルポートLP2_1のポート識別子{LP2_1}を取得し、受信ポート識別子を当該ポート識別子{LP2_1}に置き換える。VID変換部35は、イングレスVID変換テーブル36aに基づき、サービスVLAN識別子“SVID1”を内部VLAN識別子“IVID1”に変換し、それを当該フレームに付加する。
FDB処理部17は、当該フレームの送信元MACアドレス“MA1”および内部VLAN識別子“IVID1”を、受信ポート識別子{LP2_1}に対応付けてFDBに学習する。また、FDB処理部17は、当該フレームの宛先MACアドレスが“MCA”であるため、当該フレームにMCフラグを付加して内部インタフェース部32へ送信する。内部インタフェース部32において、MC処理部37は、MCフラグが付加されたフレームを受信したため、LCテーブル38aに基づき、“IVID1”に対応する宛先ラインカード識別子{LCh1},{LCh2}を取得する。
MC処理部37は、複製によって生成した2個のフレームにそれぞれ宛先ラインカード識別子{LCh1},{LCh2}を付加する。MC処理部37は、宛先ラインカード識別子{LCh1}が付加されたフレームをファブリック経路部25へ送信する。一方、MC処理部37は、宛先ラインカード識別子{LCh2}が付加されたフレームに関しては、自ラインカード宛てであるため、ポートテーブル38bを用いて処理する。具体的には、MC処理部37は、ポートテーブル38bに基づき、“IVID1”に対応する宛先ポート識別子{LP2_1}を取得する。ここで、MC処理部37は、受信ポート識別子と宛先ポート識別子が共に{LP2_1}であるため、当該フレームを破棄する。
ファブリック経路部25(フルメッシュ状の配線)は、ラインカード識別子{LCh1}が付加されたフレームをラインカードLCh1へ中継する。当該フレームは、ラインカードLCh1の内部インタフェース部32で受信される。当該内部インタフェース部32のMC処理部37は、MCフラグが付加されたフレームをファブリック用端子FPで受信したため、ポートテーブル38bに基づき、“IVID1”に対応する宛先ポート識別子{LP1_1},{LP1_2}を取得する。MC処理部37は、当該宛先ポート識別子が共に受信ポート識別子と異なるため、複製によって2個のフレームを生成し、当該2個のフレームにそれぞれ宛先ポート識別子{LP1_1},{LP1_2}を付加して帯域制御部18へ送信する。
帯域制御部18は、宛先ポート識別子{LP1_1}が付加されたフレームをキューQE_LP1_1に蓄積し、宛先ポート識別子{LP1_2}が付加されたフレームをキューQE_LP1_2に蓄積する。帯域制御部18は、帯域設定情報に基づき、シェーピング等を行いながら各キューQE_LP1_1,QE_LP1_2からフレームを取り出し、それを中継処理部31へ送信する。
中継処理部31において、VID変換部35は、イーグレスVID変換テーブル36bに基づき、2個のフレームに含まれる内部VLAN識別子“IVID1”を、共にバックボーンVLAN識別子“BVID1”およびサービスインスタンス識別子“ISID1”に変換する。なお、中継処理部31は、より詳細には、カプセル化実行部を備えている。カプセル化実行部は、当該2個のフレームを、共に、バックボーンVLAN識別子“BVID1”およびサービスインスタンス識別子“ISID1”、ならびに送信元/宛先カプセル化用MACアドレスBMACでカプセル化することで、カプセル化フレームを生成する。送信元カプセル化用MACアドレス(BSA)は、中継装置SW1のMACアドレスであり、宛先カプセル化用MACアドレス(BDA)は、“MCA”である。
テーブル処理部16は、宛先ポート識別子{LP1_1}が付加されたフレームを受信し、イーグレスLPテーブル19bに基づき、宛先ポート識別子{LP1_1}から、物理ポートPPh1のポート識別子{PPh1}およびバックボーンVLAN識別子“BVID1”を取得する。テーブル処理部16は、宛先ポート識別子を当該ポート識別子{PPh1}に置き換え、さらに、カプセル化フレームのバックボーンVLAN識別子を当該“BVID1”に置き換える(ただし、この場合は置き換え前後で同一となる)。
同様に、テーブル処理部16は、宛先ポート識別子{LP1_2}が付加されたフレームを受信し、イーグレスLPテーブル19bに基づき、宛先ポート識別子{LP1_2}から、物理ポートPPh1のポート識別子{PPh1}およびバックボーンVLAN識別子“BVID2”を取得する。テーブル処理部16は、宛先ポート識別子を当該ポート識別子{PPh1}に置き換え、さらに、カプセル化フレームのバックボーンVLAN識別子を当該“BVID2”に置き換える。
外部インタフェース部30において、帯域制限部33は、共に宛先ポート識別子{PPh1}が付加され、それぞれバックボーンVLAN識別子“BVID1”,“BVID2”を含む2個のフレーム(カプセル化フレーム)を受信し、当該2個のフレームを共にキューQE_PPhに蓄積する。帯域制限部33は、物理ポートPPh1の送信帯域(例えば100Gbps)に基づき、当該送信帯域を超えないようにキューQE_PPhからフレームを取り出す。
外部インタフェース部30は、当該取り出したフレームに付加されている不必要な情報を削除した上で、宛先ポート識別子に基づき、当該2個のフレーム(カプセル化フレーム)MCFc1,MCFc2を物理ポートPPh1から送信する。カプセル化フレームMCFc1は、送信元MACアドレス(SA)“MA1”、宛先MACアドレス(DA)“MCA”、バックボーンVLAN識別子“BVID1”、サービスインスタンス識別子“ISID1”を含む。
詳細には、送信元MACアドレス(SA)は、送信元カスタマ用MACアドレス(CSA)となる“MA1”と、送信元カプセル化用MACアドレス(BSA)となる中継装置SW1のMACアドレスとを含む。また、宛先MACアドレス(DA)は、共に“MCA”となる宛先カスタマ用MACアドレス(CDA)および宛先カプセル化用MACアドレス(BDA)を含む。また、カプセル化フレームMCFc2は、バックボーンVLAN識別子BVIDが異なることを除いて、カプセル化フレームMCFc1と同様である。
なお、図9において、FDBの学習に際しては、各ラインカードでFDBの保持内容を同期化するため、例えば、受信したフレームのヘッダ部分のみを含んだ学習用フレーム等を用いる。図9の例では、ラインカードLCh2の中継処理部31は、学習用フレームを生成し、それを自ラインカードを除く全てのラインカードへ送信する。当該学習用フレームを受信した各ラインカードの中継処理部31は、当該学習用フレームに含まれる送信元情報を自ラインカードのFDBに学習する。
また、図5に示した低帯域用のラインカードLCl1は、例えば、図6におけるテーブル処理部16や帯域制御部18を備えずに、ロジカルポートではなく物理ポートのポート識別子に基づいて図9の場合と同様の処理を行うような構成になっている。例えば、当該ラインカードLCl1のFDB処理部17は、MACアドレスおよび内部VLAN識別子IVIDを物理ポートのポート識別子(例えば{PPl1})に対応付けてFDBに学習する。これに伴い、各ラインカードのFDBには、図7(c)に示されるように、ロジカルポートのポート識別子と、物理ポートのポート識別子とが混在することになる。ただし、各ラインカードのFDB処理部17は、物理ポートのポート識別子かロジカルポートのポート識別子かを特に区別することなく取り扱うことができる。これによって処理の簡素化等が図れる。
以上、本実施の形態3の中継装置を用いることで、実際の形態1,2で述べたような各種効果と同様の効果が得られることに加えて、帯域制御に際しての柔軟性の更なる向上が図れる場合がある。具体的には、まず、帯域制御部18において、例えば、ロジカルポートLP1_1,LP1_2に設定する帯域の合計値が物理ポートPPh1の帯域を超えないように設定すれば、各ロジカルポートLP1_1,LP1_2の最低帯域を保証することができる。例えば、物理ポートPPh1の帯域を100Gbpsとして、ロジカルポートLP1_1を70Gbpsに設定し、ロジカルポートLP1_2を30Gbpsに設定した場合、ロジカルポートLP1_1,LP1_2を宛先ポートとするフレームは、それぞれ、70Gbps,30Gbpsの帯域が保証される。
ただし、この場合、物理ポートPPh1の帯域に空きがある状況でも、例えば、ロジカルポートLP1_1の帯域は70Gbpsに制限される場合がある。そこで、本実施の形態3では、帯域制御部18において、ロジカルポートLP1_1,LP1_2に設定する帯域の合計値が100Gbpsを超えるように(ただし、1個のロジカルポートに設定する帯域は100Gbpsを超えないように)設定することも可能となっている。例えば、ロジカルポートLP1_1,LP1_2の帯域を共に100Gbpsに設定する場合を想定する。
この場合、ロジカルポートLP1_1,LP1_2をそれぞれ宛先ポートとする各フレームは、合計で、100Gbpsの帯域で帯域制限部33のキューQE_PPhに蓄積され、帯域制限部33によって100Gbpsの帯域に制限される。仮に、ある期間において、ロジカルポートLP1_2を宛先ポートとするフレームが存在しない場合、ロジカルポートLP1_1を宛先ポートとするフレームを、最大100Gbpsの帯域を使用して物理ポートPPh1から送信することができる。すなわち、このような設定を行った場合、最低帯域は必ずしも保証されないが、物理ポートPPh1の帯域を有効に活用することが可能になる。このように、本実施の形態3の中継装置を用いることで、ユーザの目的等に応じて帯域制御の方法を使い分けることが可能になり、柔軟性の向上が図れる。
(実施の形態4)
《中継装置の構成(変形例)》
図10は、本発明の実施の形態4による中継装置において、主要部の概略構成例を示すブロック図である。図10に示す中継装置SWは、図3に示した構成例と比較して、帯域制御部18がイーグレス側ではなくイングレス側に設けられる点が異なっている。図10において、テーブル処理部16は、物理ポートPPh1,PPh2,…でフレームを受信した場合に、LPテーブル19に基づいてフレームに受信ポート識別子(ロジカルポートのポート識別子)を付加する。
帯域制御部18は、テーブル処理部16からのフレームを受け、当該フレームの受信ポート識別子に基づいて、ロジカルポート毎のキュー(第1キュー)QE_LP1_1,QE_LP1_2,QE_LP2_1に所定のデータ(例えばフレーム)を蓄積する。そして、帯域制御部18の取り出し制御部(第1取り出し制御部)20は、ロジカルポート毎の帯域設定情報21に基づき、複数のキューQE_LP1_1,QE_LP1_2,QE_LP2_1のそれぞれからデータ(フレーム)を取り出し、FDB処理部17へ送信する。
このように、帯域制御部18は、一般的には、図3のように、イーグレス側に設けられる場合が多いが、例えば、各拠点毎の受信帯域を制限するため等から、場合によっては、図10のように、イングレス側に設けられてもよい。本実施の形態4の中継装置を用いることでも、実施の形態1等の場合と同様の効果が得られる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
例えば、ここでは、中継装置としてL2スイッチを例としたが、勿論、OSI参照モデルのL2の処理に加えてレイヤ3(L3)の処理を行うL3スイッチ等であってもよい。