以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
《中継システムの全体構成》
図1は、本発明の一実施の形態による中継システムにおいて、その全体の構成例および動作例を示す概略図である。図1に示す中継システムは、複数(ここでは6個)のカスタマ網12a〜12fと、カスタマ網12a〜12f間の中継を担う複数(ここでは3個)のPB網11a〜11cと、PB網11a〜11c間の中継を担うPBB網10と、を備える。
PB網11aは、カスタマ網12a,12b間の中継を担い、PB網11bは、カスタマ網12c,12d間の中継を担い、PB網11cは、カスタマ網12e,12f間の中継を担う。PBB網10は、IEEE802.1ah(言い換えればPBB規格)に基づく中継が行われる中継網である。PB網11a〜11cは、前述した拡張VLAN方式が適用される中継網である。
カスタマ網12a,12bとPB網11aとの間の境界部には、それぞれ、スイッチSWB1,SWB2が設置される。カスタマ網12aは、複数のカスタマ端末TMと、これらをスイッチSWB1に接続するネットワークNWc1と、を備える。カスタマ網12bは、複数のカスタマ端末TMと、これらをスイッチSWB2に接続するネットワークNWc2と、を備える。ネットワークNWc1,NWc2のそれぞれは、通信回線や図示しないスイッチ等によって構成される。スイッチSWB1は、カスタマ網12a内の複数のカスタマ端末TM間の中継を担うと共に、各カスタマ端末TMとPB網11aとの間の中継を担う。スイッチSWB2は、カスタマ網12b内の複数のカスタマ端末TM間の中継を担うと共に、各カスタマ端末TMとPB網11aとの間の中継を担う。
同様に、カスタマ網12c,12dとPB網11bとの間の境界部には、それぞれ、スイッチSWB3,SWB4が設置され、カスタマ網12e,12fとPB網11cとの間の境界部には、それぞれ、スイッチSWB5,SWB6が設置される。カスタマ網12c〜12fは、それぞれ、複数のカスタマ端末TMと、ネットワークNWc3〜NWc6と、を備える。スイッチSWB3,SWB4は、それぞれ、カスタマ網12c,12d内の複数のカスタマ端末TM間の中継を担うと共に、各カスタマ端末TMとPB網11bとの間の中継を担う。スイッチSWB5,SWB6は、それぞれ、カスタマ網12e,12f内の複数のカスタマ端末TM間の中継を担うと共に、各カスタマ端末TMとPB網11cとの間の中継を担う。
PB網11bと、PBB網10との間の境界部(言い換えればPBB網10の入口または出口)には、スイッチ装置(具体的にはエッジスイッチ装置)SWE2が設置される。スイッチ装置SWE2は、下位リンク用ポートであるn個のポートPd[1]〜Pd[n]と、上位リンク用ポートであるポートPuと、を含む複数のポートを有する。PB網11bは、通信回線や図示しないスイッチ等によって構成されるネットワークNWb2を備える。スイッチSWB3,SWB4は、ネットワークNWb2を介して、スイッチ装置SWE2のポートPd[1]〜Pd[n]のいずれかに適宜接続される。
これにより、スイッチ装置SWE2は、自装置の下位リンクに存在する複数のスイッチSWB3,SWB4間の中継を担うと共に、各スイッチSWB3,SWB4とPBB網10との間の中継を担う。なお、ここでは、PB網11bの境界部には、2個のスイッチSWB3,SWB4が設置されているが、実際には、更に多くのスイッチが設置される。また、これに応じて、PB網11bには、2個のカスタマ網12c,12dに加えて、更に多くのカスタマ網が収容される。これは、PB網11a,11cに関しても同様である。
PB網11bの場合と同様に、PB網11cと、PBB網10との間の境界部には、スイッチ装置SWE3が設置される。PB網11cは、ネットワークNWb3を備える。スイッチSWB5,SWB6は、ネットワークNWb3を介して、スイッチ装置SWE3のポートPd[1]〜Pd[n]のいずれかに適宜接続される。これにより、スイッチ装置SWE3は、自装置の下位リンクに存在する複数のスイッチSWB5,SWB6間の中継を担うと共に、各スイッチSWB5,SWB6とPBB網10との間の中継を担う。さらに、同様にして、所定のPB網(図示は省略)とPBB網10との間の境界部には、スイッチ装置SWE4が設置される。
一方、PB網11aと、PBB網10との間の境界部(言い換えればPBB網10の入口または出口)には、2個のスイッチ装置(エッジスイッチ装置)SWE1a,SWE1bで構成されるMCLAGスイッチMCLAGSWが設置される。スイッチ装置SWE1a,SWE1bのそれぞれは、下位リンク用ポートと上位リンク用ポートとを有する。この例では、下位リンク用ポートの中には、MCLAG用ポートPm1と、MCLAGが設定されないポートPdと、ブリッジ用ポートPbと、が含まれる。また、上位リンク用ポートの中には、MCLAG用ポートPm2と、MCLAGが設定されないポートPuと、が含まれる。
スイッチ装置SWE1a,SWE1bのそれぞれは、自装置およびピア装置のMCLAG用ポートPm1に共通のMCLAG1を設定し、自装置およびピア装置のMCLAG用ポートPm2に共通のMCLAG2を設定する。PB網11aは、ネットワークNWb1を備える。スイッチSWB1,SWB2は、ネットワークNWb1を介して、MCLAGスイッチMCLAGSWの複数の下位リンク用ポートのいずれかに適宜接続される。これにより、MCLAGスイッチMCLAGSWは、自装置の下位リンクに存在する複数のスイッチSWB1,SWB2間の中継を担うと共に、各スイッチSWB1,SWB2とPBB網10との間の中継を担う。
PBB網10は、通信回線や図示しないスイッチ(具体的にはコアスイッチ)によって構成されるネットワークNWbbを備える。複数のスイッチ装置SWE2〜SWE4の上位リンク用ポート(ポートPu)と、MCLAGスイッチMCLAGSWの上位リンク用ポート(ポートPuおよびMCLAG用ポートPm2)とは、ネットワークNWbbを介して互いに接続される。なお、ここでは、エッジスイッチ装置の一つがMCLAGスイッチMCLAGSWで構成される場合を例としたが、他のエッジスイッチ装置SWE2〜SWE4もMCLAGスイッチで構成されてもよい。
《中継システムの全体動作》
ここで、図1のカスタマ網12c内のカスタマ端末TMからカスタマ網12e内のカスタマ端末TMに向けてフレームを転送する場合を例として、図1の中継システムの動作例を説明する。ここでは、送信元となるカスタマ網12c内のカスタマ端末TMのMACアドレス(カスタマ用アドレス)CMACが「CA21」であり、宛先となるカスタマ網12e内のカスタマ端末TMのMACアドレス(カスタマ用アドレス)CMACが「CA31」であるものとする。また、スイッチ装置SWE2のMACアドレス(カプセル化用アドレス)BMACが「BA2」であり、スイッチ装置SWE3のMACアドレス(カプセル化用アドレス)BMACが「BA3」であるものとする。
図2は、図1の中継システムにおいて、各中継網を流れるフレームの主要部の構造例を示す図である。図1および図2に示すように、まず、送信元のカスタマ端末TMは、カスタマ網12c内にフレームFL1を送信する。カスタマ網12c内のフレームFL1は、カスタマVLANタグ15、送信元のカスタマ用アドレスCMAC(CSA)および宛先のカスタマ用アドレスCMAC(CDA)を含んだ非カプセル化フレームである。ここでは、送信元のカスタマ用アドレスCSAは、MACアドレス「CA21」であり、宛先のカスタマ用アドレスCDAは、MACアドレス「CA31」である。カスタマVLANタグ15には、カスタマによって任意に設定されるカスタマVLAN識別子CVIDが含まれる。
次いで、図1に示すように、スイッチSWB3は、フレームFL1を受信し、PB網11b内にフレームFL2を送信する。フレームFL2は、拡張VLANフレームであり、図2に示すように、フレームFL1に対してサービスVLANタグ16が付加された非カプセル化フレームである。サービスVLAN(拡張VLAN)タグ16には、事業者等によって任意に設定されるサービスVLAN識別子SVIDが含まれる。PB網11b内でのブロードキャストドメインは、このサービスVLAN識別子SVIDによって定められる。スイッチSWB3は、この事業者等の設定に基づいて、フレームFL1に対してサービスVLANタグ16を付加する。
続いて、図1に示すように、エッジスイッチSWE2は、フレームFL2を受信し、PBB網10内にフレームFL3を送信する。フレームFL3は、PBBフレームであり、カプセル化フレームである。カプセル化フレームは、概略的には、PBB規格に基づき、非カプセル化フレームにカプセル化用アドレスが付加された構造を持つ。具体的には、フレームFL3は、図2に示すように、フレームFL2を、サービスインスタンス識別子ISID、バックボーンVLANタグ(Bタグ)18、送信元のカプセル化用アドレスBMAC(BSA)および宛先のカプセル化用アドレスBMAC(BDA)でカプセル化した構造を持つ。
サービスインスタンス識別子ISIDは、前述した送信元のカスタマ用アドレスCSAおよび宛先のカスタマ用アドレスCDAを含めてサービスインスタンスタグ(Iタグ)17内に含まれる。サービスインスタンス識別子ISIDは、カスタマを識別するための識別子であり、24ビットの領域を持つ。この24ビットの領域によって、12ビットのサービスVLAN識別子SVIDの更なる拡張が可能となる。サービスインスタンス識別子ISIDは、事業者等によって任意に設定される。代表的な設定方法としては、1個のサービスVLAN識別子SVIDを1個のサービスインスタンス識別子ISIDに対応付ける方法や、複数のサービスVLAN識別子SVIDを1個のサービスインスタンス識別子ISIDに対応付ける方法等が挙げられる。
バックボーンVLANタグ(Bタグ)18は、バックボーンVLAN識別子BVIDを含む。バックボーンVLAN識別子BVIDは、中継時の経路制御用の識別子であり、12ビットの領域を持つ。PBB10内でのブロードキャストドメインは、このバックボーンVLAN識別子BVIDによって定められる。バックボーンVLAN識別子BVIDは、事業者等によって設定される。代表的な設定方法としては、複数のサービスインスタンス識別子ISIDを1個のバックボーンVLAN識別子BVIDに対応付ける方法等が挙げられる。
ここで、スイッチ装置SWE2は、図1のアドレステーブルFDBに示すように、過去の通信によって、カスタマ用アドレスCMAC「CA31」と、カプセル化用アドレスBMAC「BA3」と、ポートPuのポート識別子{Pu}と、の対応関係を学習しているものとする。本明細書では、例えば{AA}は、「AA」の識別子(ID)を表すものとする。また、当該アドレステーブルFDBでは、フレームFL2を受信した際の送信元の情報から、カスタマ用アドレスCMAC「CA21」とポート識別子{Pd[1]}との対応関係も学習されている。
スイッチ装置SWE2は、アドレステーブルFDBの「CA31」に基づいて、図2のフレームFL3に示すように、自装置のMACアドレス「BA2」を送信元のカプセル化用アドレスBSAとし、スイッチ装置SWE3のMACアドレス「BA3」を宛先のカプセル化用アドレスBDAとして、フレームFL2をカプセル化する。そして、スイッチ装置SWE2は、このカプセル化フレームとなるフレームFL3を、ポート(上位リンク用ポート)Puからスイッチ装置SWE3に向けて送信する。
スイッチ装置SWE3は、図1に示すように、フレームFL3を受信し、送信元のカスタマ用アドレスCSA「CA21」と送信元のカプセル化用アドレスBSA「BA2」とポート識別子{Pu}との対応関係をアドレステーブルFDBに学習する。また、スイッチ装置SWE3は、フレームFL3の宛先のカプセル化用アドレスBDA「BA3」が自装置宛であるため、フレームFL3の宛先のカスタマ用アドレスCDA「CA31」を検索キーとしてアドレステーブルFDBを検索する。
ここで、スイッチ装置SWE3は、過去の通信によって、「CA31」とポート識別子{Pd[1]}との対応関係をアドレステーブルFDBに学習しているものとする。これにより、スイッチ装置SWE3は、ポート識別子{Pd[1]}を取得し、フレームFL3をデカプセル化することでフレームFL2に変換する。
スイッチ装置SWE3は、デカプセル化したフレームFL2を、アドレステーブルFDBの検索結果に基づいて、ポート(下位リンク用ポート)Pd[1]からPB網11cを介してスイッチSWB5に向けて送信する。スイッチSWB5は、フレームFL2を受信し、フレームFL2からサービスVLANタグ16を取り除くことでフレームFL1に変換する。そして、スイッチSWB5は、フレームFL1を、カスタマ網12eを介して「CA31」のカスタマ用アドレスCMACを持つカスタマ端末TMに向けて送信する。
なお、図1および図2の例では、スイッチ装置SWE2,SWE3は、PB網11b,11cとの間でフレームFL2の受信または送信を行ったが、場合によっては、カスタマ網12c,12eとの間でフレームFL1の受信または送信を行うことも可能である。すなわち、エッジスイッチ装置は、図2のフレームFL1をカプセル化することでフレームFL3を生成したり、フレームFL3をデカプセル化することでフレームFL1を生成することも可能である。また、ここでは、PBB規格に基づく構成例および動作例を示したが、EoE(Ethernet over Ethernet)規格に対しても同様に適用可能である。EoEフレームは、図2のPBBフレーム(フレームFL3)とはフォーマットが若干異なるが、実質的には図2のPBBフレームが持つ情報と同等の情報を持つ。
《中継システム(主要部)の構成》
図3は、図1の中継システムにおいて、MCLAGスイッチ周りの構成例を示す概略図である。図1で述べたように、MCLAGスイッチMCLAGSWは、2台のスイッチ装置(第1および第2スイッチ装置)SWE1a,SWE1bで構成される。図1および図2で述べた動作と同様に、スイッチ装置SWE1a,SWE1bは、PBB網10の外部(ここではPB網11a)から受信した非カプセル化フレームをカプセル化フレームに変換してPBB網10に中継する。その逆に、スイッチ装置SWE1a,SWE1bは、PBB網10から受信したカプセル化フレームを非カプセル化フレームに変換してPBB網の外部(PB網11a)に中継する。さらに、スイッチ装置SWE1a,SWE1bは、PB網11a内での非カプセル化フレームの中継や、PBB網10内でのカプセル化フレームの中継も行う。
スイッチ装置SWE1a,SWE1bのそれぞれは、非カプセル化フレームの送信または受信を行う下位リンク用ポートと、カプセル化フレームの送信または受信を行う上位リンク用ポートと、を有する。図1で述べたように、下位リンク用ポートは、ポートPdおよびMCLAG用ポートPm1を含み、上位リンク用ポートは、ポートPuおよびMCLAG用ポートPm2を含む。さらに、下位リンク用ポートは、ブリッジ用ポートPbを含んでいる。すなわち、ブリッジ用ポートPbは、PB網11aに属するポートとなっている。ブリッジ用ポートPbは、自装置とピア装置とを通信回線13を介して接続する。通信回線13は、イーサネット(登録商標)回線で構成される場合や、専用回線で構成される場合がある。
また、図3の例では、PB網11aのネットワークNWb1は、スイッチSW1を備えている。スイッチSW1は、LAG用ポートP1,P2を有する。LAG用ポートP1は、通信回線14を介してスイッチ装置SWE1aのMCLAG用ポートPm1に接続され、LAG用ポートP2は、通信回線14を介してスイッチ装置SWE1bのMCLAG用ポートPm1に接続される。通信回線14は、例えば、イーサネット回線で構成される。スイッチSW1は、LAG用ポートP1,P2にMCLAG1を設定する。なお、スイッチSW1は、実際には、LAG用ポートP1,P2に、通常のLAGを設定すればよく、特に、LAGとMCLAGとを区別して取り扱う必要はない。
同様に、PBB網10のネットワークNWbbは、コアスイッチSWCを備えている。コアスイッチSWCは、スイッチ装置SWE1aのMCLAG用ポートPm2に接続されるLAG用ポートP1と、スイッチ装置SWE1bのMCLAG用ポートPm2に接続されるLAG用ポートP2と、を有する。コアスイッチSWCは、LAG用ポートP1,P2にMCLAG2(実際には通常のLAG)を設定する。
また、図3には、カスタマ端末TM1a,TM1b,TM1cと、カスタマ端末TM2,TM3,TM4とが示されている。図1を例とすると、カスタマ端末TM1a,TM1b,TM1cは、カスタマ網12a,12bに含まれる。カスタマ端末TM2は、スイッチ装置SWE2の下位リンクに属するカスタマ網12c,12dに含まれ、カスタマ端末TM3は、スイッチ装置SWE3の下位リンクに属するカスタマ網12e,12fに含まれる。また、カスタマ端末TM4は、スイッチ装置SWE4の下位リンクに属するカスタマ網(図示せず)に含まれる。なお、図3では、便宜上、各カスタマ網のネットワーク(NWc1〜NWc6)や、スイッチ(SWB1〜SWB6)の記載は省略されている。
カスタマ端末TM1aは、ネットワークNWb1内のスイッチSW1を介して、スイッチ装置SWE1a,SWE1bのMCLAG用ポート(下位リンク用ポート)Pm1に接続される。カスタマ端末TM1bは、ネットワークNWb1を介して、スイッチ装置SWE1aのポート(下位リンク用ポート)Pdに接続され、カスタマ端末TM1cは、ネットワークNWb1を介して、スイッチ装置SWE1bのポート(下位リンク用ポート)Pdに接続される。
また、カスタマ端末TM3は、ネットワークNWbb内のコアスイッチSWCを介して、スイッチ装置SWE1a,SWE1bのMCLAG用ポート(上位リンク用ポート)Pm2に接続される。カスタマ端末TM2は、ネットワークNWbbを介して、スイッチ装置SWE1aのポート(上位リンク用ポート)Puに接続され、カスタマ端末TM4は、ネットワークNWbbを介して、スイッチ装置SWE1bのポート(上位リンク用ポート)Puに接続される。
このような構成において、MCLAGスイッチMCLAGSWは、同一のMCLAG(例えばMCLAG2)が設定される複数のMCLAG用ポート(例えば2個のPm2)を論理的の1個のポートとして管理する。これにより、MCLAGスイッチMCLAGSWは、例えば、コアスイッチSWCに向けたフレームを、2個のMCLAG用ポートPm2のどちらから送信してもよい。また、MCLAGスイッチMCLAGSWは、コアスイッチSWCのLAGの分散規則に基づき、コアスイッチSWCからのフレームを2個のMCLAG用ポートPm2のどちらでも受信することができる。さらに、MCLAGスイッチMCLAGSWは、例えば、2個のMCLAG用ポートPm2の一方に障害が発生した場合、フレームの通信を他方のMCLAG用ポートPm2に縮退させる制御を行う。
ここで、MCLAGスイッチMCLAGSWが、コアスイッチSWCに向けたフレームを、どちらのMCLAG用ポートPm2から送信するかは、MCLAGの動作方式に応じて適宜定められる。例えば、原則的に、フレームを受信した側のスイッチ装置が、自装置のMCLAG用ポートからフレームを送信するような方式が挙げられる。具体的には、スイッチ装置SWE1aが、宛先ポートがMCLAG2となるフレームを受信した場合、当該フレームを自装置のMCLAG用ポートPm2から送信し、スイッチ装置SWE1bが、宛先ポートがMCLAG2となるフレームを受信した場合、当該フレームを自装置のMCLAG用ポートPm2から送信する。
または、MCLAG毎に、フレームを送信するMCLAG用ポートを固定するような方式も挙げられる。具体的には、スイッチ装置SWE1aが、宛先ポートがMCLAG2となるフレームを受信した場合、当該フレームを自装置のMCLAG用ポートPm2から送信する。一方、スイッチ装置SWE1bが、宛先ポートがMCLAG2となるフレームを受信した場合、当該フレームをブリッジ用ポートPbを介してスイッチ装置SWE1aに送信し、スイッチ装置SWE1aが、当該フレームを自装置のMCLAG用ポートPm2から送信する。
あるいは、分散ID等に基づいてフレームを送信するMCLAG用ポートを2台のスイッチ装置SWE1a,SWE1bに均等に振り分けるような方式も挙げられる。なお、このようにして定めた一方のMCLAG用ポートに障害が有る場合、他方のMCLAG用ポートから送信が行われるように、MCLAGの動作方式に応じた所定の制御が行われる。このように、MCLAGの動作方式は、前述した方式を代表に様々なものが挙げられ、本実施の形態では、いずれの動作方式を用いることも可能である。
また、図3では、スイッチ装置SWE1a,SWE1bの主要部の概略的な構成例が示される。ここでは、スイッチ装置SWE1a,SWE1bのそれぞれは、アドレステーブルFDBと、中継処理部20と、MCLAGテーブル21と、学習用フレーム処理部22と、を有する。中継処理部20は、主に、アドレステーブルFDBの学習および検索を行う。
MCLAGテーブル21は、単数または複数のMCLAG用ポートを、単数または複数のMCLAG識別子にそれぞれ対応付けて保持する。図3の場合、MCLAGテーブル21は、MCLAG用ポートPm1,Pm2を、それぞれ、MCLAG識別子{MCLAG1},{MCLAG2}に対応付けて保持する。これによって、スイッチ装置SWE1a,SWE1bのそれぞれは、自装置およびピア装置のMCLAG用ポートPm1に共通のMCLAG1を設定し、自装置およびピア装置のMCLAG用ポートPm2に共通のMCLAG2を設定する。
アドレステーブルFDBは、下位リンク用ポートの先に存在するカスタマ用アドレスを、当該下位リンク用ポートを表すポート識別子または当該下位リンク用ポートに対応付けられるMCLAG識別子に対応付けて保持する。例えば、図1のスイッチ装置SWE2のアドレステーブルFDBは、ポート(下位リンク用ポート)Pd[1]の先に存在するカスタマ用アドレスCMAC「CA21」を、ポート識別子{Pd[1]}に対応付けて保持している。スイッチ装置SWE1a,SWE1bのアドレステーブルFDBも、これと同様の情報を保持する。
また、アドレステーブルFDBは、上位リンク用ポートの先に存在するカスタマ用アドレスを、カプセル化用アドレスと、当該上位リンク用ポートを表すポート識別子または当該上位リンク用ポートに対応付けられるMCLAG識別子と、に対応付けて保持する。例えば、図1のスイッチ装置SWE2のアドレステーブルFDBは、ポート(上位リンク用ポート)Puの先に存在するカスタマ用アドレスCMAC「CA31」を、カプセル化用アドレスBMAC「BA3」と、ポート識別子{Pu}と、に対応付けて保持している。スイッチ装置SWE1a,SWE1bのアドレステーブルFDBも、これと同様の情報を保持する。
学習用フレーム処理部22は、学習用フレームを生成し、ブリッジ用ポートPbに向けて送信する学習用フレーム送信部22aと、ブリッジ用ポートPbでピア装置からの学習用フレームを受信する学習用フレーム受信部22bと、を備える。学習用フレーム処理部22は、詳細は後述するが、当該学習用フレームを用いてスイッチ装置SWE1a,SWE1b間でアドレステーブルFDBの同期を行う。
《中継システム(主要部)の前提動作および問題点》
図12は、本発明の前提として検討した中継システムの動作例を示す説明図である。図12の中継システムにおいて、スイッチ装置SWE1a,SWE1bのそれぞれは、図3に示した学習用フレーム処理部22とは機能が一部異なる学習用フレーム処理部22’を備えている。図12では、カスタマ端末TM1a,TM3,TM4のカスタマ用アドレス(MACアドレス)CMACは、それぞれ、CA1a,CA3,CA4であるものとする。また、スイッチ装置SWE1a,SWE1b,SWE3,SWE4のカプセル化用アドレス(MACアドレス)BMACは、それぞれ、BA1a,BA1b,BA3,BA4であるものとする。
まず、カスタマ端末TM4からカスタマ端末TM1aに向けてフレームFL20を転送する場合を想定する。スイッチ装置SWE4は、カスタマ端末TM4からのフレーム(ここでは非カプセル化フレーム)FL20を受信し、当該非カプセル化フレームをカプセル化フレームに変換する。当該カプセル化フレームには、送信元のカスタマ用アドレスCSA「CA4」、宛先のカプセル化用アドレスBDA「BA1b」および送信元のカプセル化用アドレスBSA「BA4」等が含まれる。
スイッチ装置SWE1bは、スイッチ装置SWE4からのフレーム(カプセル化フレーム)FL20をポートPuで受信する。そして、スイッチ装置SWE1b(具体的には中継処理部20)は、当該フレーム(カプセル化フレーム)FL20に含まれる送信元のカスタマ用アドレスCSA「CA4」を、送信元のカプセル化用アドレスBSA「BA4」と、受信ポート識別子とに対応付けてアドレステーブルFDBに学習する。受信ポート識別子とは、フレームを受信したポートのポート識別子または当該ポートに対応付けられるMCLAG識別子を意味する。受信ポート識別子は、ここでは、ポート識別子{Pu}である。
また、スイッチ装置SWE1bは、過去の通信によって、カスタマ用アドレスCMAC「CA1a」と、MCLAG識別子{MCLAG1}と、の対応関係をアドレステーブルFDBに学習しているものとする。スイッチ装置SWE1b(具体的には中継処理部20)は、フレーム(カプセル化フレーム)FL20に含まれる宛先のカプセル化用アドレスBDA「BA1b」が自装置宛てであるため、当該フレームに含まれる宛先のカスタマ用アドレスCDA「CA1a」を検索キーとしてアドレステーブルFDBを検索する。スイッチ装置SWE1bは、当該検索結果により宛先ポート識別子を取得する。宛先ポート識別子とは、当該検索キーに対応付けられるポート識別子またはMCLAG識別子を意味する。宛先ポート識別子は、ここでは、MCLAG識別子{MCLAG1}である。
スイッチ装置SWE1bは、当該宛先ポート識別子に基づき送信ポート識別子を定め、受信したフレームFL20を、当該送信ポート識別子に対応するポートに中継する。送信ポート識別子とは、実際にフレームを送信するポートのポート識別子を意味する。例えば、宛先ポート識別子がMCLAG識別子ではなく通常のポート識別子(例えば{Pd})の場合、送信ポート識別子は宛先ポート識別子に等しい。一方、宛先ポート識別子がMCLAG識別子の場合、送信ポート識別子は、MCLAGの動作方式(すなわち、スイッチ装置SWE1a,SWE1bのどちらが送信を行うか)に応じて、MCLAG用ポートのポート識別子になる場合と、ブリッジ用ポートPbのポート識別子{Pb}になる場合とがある。
ここでは、送信ポート識別子は、MCLAG用ポートPm1のポート識別子{Pm1}に定められたものとする。この場合、スイッチ装置SWE1bは、受信したフレーム(カプセル化フレーム)FL20を非カプセル化フレームに変換したのち、MCLAG用ポートPm1に中継する。その結果、当該フレーム(非カプセル化フレーム)FL20は、スイッチSW1を介してカスタマ端末TM1aに到達する。
また、スイッチ装置SWE1b(具体的には学習用フレーム処理部22’)は、フレームFL20を受信した際に、当該フレームFL20の送信元のカスタマ用アドレスCSA「CA4」を含む学習用フレームMF2を生成し、それをブリッジ用ポートPbに向けて送信する。一方、スイッチ装置SWE1a(具体的には学習用フレーム処理部22’)は、当該学習用フレームMF2をブリッジ用ポートPbで受信し、当該学習用フレームMF2に含まれるカスタマ用アドレスCMAC「CA4」を受信ポート識別子(ここではポート識別子{Pb})に対応付けてアドレステーブルFDBに学習する。
これにより、スイッチ装置SWE1aは、例えば、カスタマ端末TM1aから、カスタマ端末TM4を宛先とする非カプセル化フレームを受信した場合であっても、当該非カプセル化フレームを、フラッディングすることなくユニキャストで中継することが可能になる。
次に、カスタマ端末TM4からカスタマ端末TM3に向けてフレームFL10aを転送する場合を想定する。スイッチ装置SWE4は、カスタマ端末TM4からのフレーム(ここでは非カプセル化フレーム)FL10aを受信し、当該非カプセル化フレームをカプセル化フレームに変換する。当該カプセル化フレームには、送信元のカスタマ用アドレスCSA「CA4」、宛先のカプセル化用アドレスBDA「BA3」および送信元のカプセル化用アドレスBSA「BA4」等が含まれる。
スイッチ装置SWE1bは、スイッチ装置SWE4からのフレーム(カプセル化フレーム)FL10aをポートPuで受信し、フレームFL20の場合と同様に、カスタマ用アドレスCMAC「CA4」を、カプセル化用アドレスBMAC「BA4」と、ポート識別子{Pu}とに対応付けてアドレステーブルFDBに学習する。また、スイッチ装置SWE1bは、過去の通信によって、カプセル化用アドレスBMAC「BA3」と、MCLAG識別子{MCLAG2}と、の対応関係をアドレステーブルFDBに学習しているものとする。
スイッチ装置SWE1b(具体的には中継処理部20)は、フレーム(カプセル化フレーム)FL10aに含まれる宛先のカプセル化用アドレスBDA「BA3」が自装置宛てではないため、当該フレームに含まれる宛先のカプセル化用アドレスBDA「BA3」を検索キーとしてアドレステーブルFDBを検索する。スイッチ装置SWE1bは、当該検索結果により、宛先ポート識別子であるMCLAG識別子{MCLAG2}を取得する。
ここでは、スイッチ装置SWE1bは、この宛先ポート識別子に基づき、送信ポート識別子をMCLAG用ポートPm2のポート識別子{Pm2}に定めたものとする。この場合、スイッチ装置SWE1bは、受信したフレーム(カプセル化フレーム)FL10aを、カプセル化フレームのままMCLAG用ポートPm2に中継する。その結果、当該フレーム(カプセル化フレーム)FL10aは、コアスイッチSWCおよびスイッチ装置SWE3を介してカスタマ端末TM3に到達する。
また、スイッチ装置SWE1b(具体的には学習用フレーム処理部22’)は、フレームFL10aを受信した場合に、フレームFL20の場合と同様に、学習用フレームの生成および送信を行うことを試みる。しかしながら、スイッチ装置SWE1bは、カプセル化フレームを受信した場合で、その宛先のカプセル化用アドレスBDAが自装置宛てではない場合、ブリッジ用ポートPbを含めて下位リンク用ポートからのフレームの送信を禁止するような送信制御部を備える場合がある。当該送信制御部は、例えば、宛先のカプセル化用アドレスBDAが自装置宛てではなく、当該アドレスが未学習の場合などで、下位リンク用ポートからの不要なフラッディングを防止する目的等から設けられる。
このような送信制御部を備える場合、スイッチ装置SWE1b(学習用フレーム処理部22’)は、フレームFL10aを受信した場合に、フレームFL20を受信した場合と異なり、学習用フレームをブリッジ用ポートPbから送信することができなくなる。その結果、仮に、前述したフレームFL20の通信が行われない状態で、スイッチ装置SWE1aがカスタマ端末TM4を宛先とするフレームを受信した場合には、フラッディングが発生する。すなわち、フラッディングの発生頻度が上がり、通信の輻輳が生じやすくなる。
《中継システム(主要部)の本実施の形態による動作》
図4は、図3の中継システムの動作例を示す説明図である。図4では、前述した図12の場合と同様に、カスタマ端末TM4からカスタマ端末TM3に向けてフレームFL10aを転送する場合の動作例が示されている。図4の動作は、学習用フレーム処理部22に関する動作を除いて、図12の場合と同様である。以下、図12の場合と異なる動作に関して説明する。
スイッチ装置SWE1bの学習用フレーム処理部22(具体的には学習用フレーム送信部22a)は、上位リンク用ポートでカプセル化フレームを受信した場合、図12の場合と異なり、当該カプセル化フレームの宛先のカプセル化用アドレスBDAに関わらず、ブリッジ用ポートPbから送信可能な学習用フレームを生成し、それをブリッジ用ポートPbに向けて送信する。言い換えれば、学習用フレーム送信部22aは、宛先のカプセル化用アドレスBDAが自装置宛てではないカプセル化フレームを受信した場合であっても、ブリッジ用ポートPbから送信可能で、当該カプセル化フレームの送信元のカスタマ用アドレスCSAを含む学習用フレームを生成する。
図4の例では、スイッチ装置SWE1bは、上位リンク用ポートであるポートPuで、宛先のカプセル化用アドレスBDA「BA3」が他装置宛てであるフレーム(カプセル化フレーム)FL10aを受信している。スイッチ装置SWE1bの学習用フレーム送信部22aは、この場合であっても、ブリッジ用ポートPbから送信可能で、当該カプセル化フレームの送信元のカスタマ用アドレスCSA「CA4」を含む学習用フレームMF1aを生成し、それをブリッジ用ポートPbに向けて送信する。
スイッチ装置SWE1aは、当該学習用フレームMF1aをブリッジ用ポートPbで受信する。スイッチ装置SWE1aの学習用フレーム処理部22(具体的には学習用フレーム受信部22b)は、図12の学習用フレームMF2の場合と同様に、ブリッジ用ポートPbでピア装置からの学習用フレームMF1aを受信した場合に、当該学習用フレームMF1aに含まれるカスタマ用アドレスCMACをアドレステーブルFDBに学習する。図4の例では、当該学習用フレーム受信部22bは、学習用フレームMF1aに含まれるカスタマ用アドレスCMAC「CA4」を受信ポート識別子(ここではポート識別子{Pb})に対応付けてアドレステーブルFDBに学習する。
ここで、図12で述べた送信制御部は、特に限定はされないが、フレームに対して装置内部で付加される内部フラグに基づいて、下位リンク用ポートからのフレームの送信を許可または禁止するような動作を行う。具体的には、送信制御部は、例えば、フレームに付加された内部フラグの値と、送信ポート識別子の種別(上位リンク用ポートか下位リンク用ポートか)と、に応じてフレームの通過の許可/禁止を定める送信フィルタ部等によって構成可能である。
この場合、まず、スイッチ装置(例えば中継処理部20)は、宛先のカプセル化用アドレスBDAが自装置宛てであるフレームを受信した場合には、当該受信フレームに「0」の値を持つ内部フラグを付加し、他装置宛てであるフレームを受信した場合には、当該受信フレームに「1」の値を持つ内部フラグを付加する。この内部フラグは、フラッディングや前述した学習用フレームの生成等に伴い、受信フレームに基づいて生成されたフレームにも引き継がれる。
送信フィルタ部は、内部フラグの値が「0」(すなわち自装置宛て)であり、送信ポート識別子が下位リンク用ポートであるフレームに対しては、当該フレームの通過を許可し、内部フラグの値が「0」であり、送信ポート識別子が上位リンク用ポートであるフレームに対しては、当該フレームの通過を禁止する。一方、送信フィルタ部は、内部フラグの値が「1」(すなわち他装置宛て)であり、送信ポート識別子が下位リンク用ポートであるフレームに対しては、当該フレームの通過を禁止し、内部フラグの値が「1」であり、送信ポート識別子が上位リンク用ポートであるフレームに対しては、当該フレームの通過を許可する。
例えば、送信制御部がこのような仕組みで実現される場合、図4におけるスイッチ装置SWE1bの学習用フレーム送信部22aは、学習用フレームに付加される内部フラグを、送信制御部で送信が許可される内部フラグに変更すればよい。前述した送信フィルタ部を用いる例では、学習用フレーム送信部22aは、学習用フレームMF1aに付加される内部フラグの値を、本来の「1」ではなく、「0」に変更すればよい。これによって、学習用フレーム送信部22aは、下位リンク用ポートであるブリッジ用ポートPbから送信可能な学習用フレームMF1aを生成することができる。
なお、図4の動作は、必ずしも、このような仕組みに限らず、その他の仕組みで実現することも可能である。例えば、学習用フレームに関しては常にポートからの送信を許可するように、スイッチ装置の各部を構成するような方式等であってもよい。すなわち、何らかの仕組みによって、学習用フレーム送信部22aは、宛先のカプセル化用アドレスBDAが自装置宛てのフレームを受信した場合であっても、学習用フレームをブリッジ用ポートPbから送信できればよい。
また、学習用フレーム送信部22aは、図4や図12に示したような、上位リンク用ポートでフレームを受信した場合に限らず、下位リンク用ポートでフレームを受信した場合にも、学習用フレームの生成および送信を行う。すなわち、学習用フレーム送信部22aは、ブリッジ用ポートPbを除くポートでフレームを受信した場合に、学習用フレームの生成および送信を行う。ただし、この際には、例えば、受信ポート識別子および送信ポート識別子の少なくとも一方がMCLAG用ポートの場合に学習用フレームの生成等を行うといったように、適宜条件を追加することも可能である。
図5は、図3の中継システムの他の動作例を示す説明図である。図5では、図4の動作が行われたのちに、カスタマ端末TM1bからカスタマ端末TM4に向けてフレームFL11を転送する場合の動作例が示されている。図5では、カスタマ端末TM1bのカスタマ用アドレス(MACアドレス)CMACは、CA1bであるものとする。
スイッチ装置SWE1aは、ポートPdでフレーム(ここでは非カプセル化フレーム)FL11を受信する。スイッチ装置SWE1aは、フレームFL11の送信元のカスタマ用アドレスCSA「CA1b」をポート識別子{Pd}に対応付けてアドレステーブルFDBに学習する。また、スイッチ装置SWE1aは、宛先のカスタマ用アドレスCDA「CA4」を検索キーとしてアドレステーブルFDBを検索し、宛先ポート識別子であるポート識別子{Pb}を取得する。これにより、スイッチ装置SWE1aは、受信したフレーム(非カプセル化フレーム)FL11を、非カプセル化フレームのままブリッジ用ポートPbに中継する。
スイッチ装置SWE1bは、フレーム(非カプセル化フレーム)FL11をブリッジ用ポートPbで受信する。スイッチ装置SWE1bは、フレームFL11の送信元のカスタマ用アドレスCSA「CA1b」をポート識別子{Pb}に対応付けてアドレステーブルFDBに学習する。また、スイッチ装置SWE1bは、宛先のカスタマ用アドレスCDA「CA4」を検索キーとしてアドレステーブルFDBを検索し、カプセル化用アドレスBMAC「BA4」と、宛先ポート識別子であるポート識別子{Pu}を取得する。これにより、スイッチ装置SWE1bは、受信したフレーム(非カプセル化フレーム)FL11を、カプセル化フレームに変換したのち、ポートPuに中継する。
このように、図4の動作を用いることで、スイッチ装置SWE1aは、図5の場合のように、カスタマ端末TM4を宛先とするフレームFL11を受信した場合に、当該フレームFL11を、フラッディングではなくユニキャストで中継することが可能になる。すなわち、図4の動作を用いることで、フラッディングの発生頻度が下がり、通信の輻輳を軽減することが可能になる。
図6は、図3の中継システムの更に他の動作例を示す説明図である。図6では、前述した図4の場合とは逆に、カスタマ端末TM3からカスタマ端末TM4に向けてフレームFL10bを転送する場合の動作例が示されている。スイッチ装置SWE3は、カスタマ端末TM3からのフレーム(ここでは非カプセル化フレーム)FL10bを受信し、当該フレームFL10bをカプセル化フレームに変換する。当該カプセル化フレームには、送信元のカスタマ用アドレスCSA「CA3」、宛先のカプセル化用アドレスBDA「BA4」および送信元のカプセル化用アドレスBSA「BA3」等が含まれる。
コアスイッチSWCは、フレーム(カプセル化フレーム)FL10bを受信し、所定の分散規則に基づいて、当該フレームFL10bをLAG用ポートP1,P2のいずれか一方に中継する。図6の例では、LAG用ポートP2に中継されたものとする。スイッチ装置SWE1bは、フレーム(カプセル化フレーム)FL10bをMCLAG用ポートPm2で受信する。そして、スイッチ装置SWE1b(具体的には中継処理部20)は、フレームFL10bの送信元のカスタマ用アドレスCSA「CA3」を、送信元のカプセル化用アドレスBSA「BA3」と、受信ポート識別子であるMCLAG識別子{MCLAG2}と、に対応付けてアドレステーブルFDBに学習する。
また、スイッチ装置SWE1b(具体的には中継処理部20)は、フレーム(カプセル化フレーム)FL10bに含まれる宛先のカプセル化用アドレスBDA「BA4」が自装置宛てではないため、当該フレームに含まれる宛先のカプセル化用アドレスBDA「BA4」を検索キーとしてアドレステーブルFDBを検索する。スイッチ装置SWE1bは、当該検索結果により、宛先ポート識別子であるポート識別子{Pu}を取得するため、受信したフレーム(カプセル化フレーム)FL10bを、カプセル化フレームのままポートPuに中継する。その結果、当該フレームFL10bは、スイッチ装置SWE4を介してカスタマ端末TM4に到達する。
ここで、スイッチ装置SWE1bの学習用フレーム処理部22(具体的には学習用フレーム送信部22a)は、図4の場合と同様に、宛先のカプセル化用アドレスBDA「BA4」が他装置宛てであるフレームFL10bを受信した場合であっても、ブリッジ用ポートPbから送信可能な学習用フレームMF1bを生成し、それをブリッジ用ポートPbに向けて送信する。ただし、図4の場合と異なり、学習用フレーム送信部22aは、フレームを受信した上位リンク用ポートがMCLAG用ポートの場合、送信元のカスタマ用アドレスに加えて、当該MCLAG用ポートに対応付けられるMCLAG識別子(すなわち受信ポート識別子SP)を含む学習用フレームMF1bを生成する。その結果、図6の例では、送信元のカスタマ用アドレスCSA「CA3」およびMCLAG識別子{MCLAG2}を含む学習用フレームMF1bが生成される。
一方、スイッチ装置SWE1aの学習用フレーム処理部22(具体的には学習用フレーム受信部22b)は、図4の場合と異なり、ブリッジ用ポートPbで、カスタマ用アドレスおよびMCLAG識別子を含む学習用フレームを受信した場合、当該カスタマ用アドレスを当該MCLAG識別子に対応付けてアドレステーブルFDBに学習する。図6の例では、当該学習用フレーム受信部22bは、カスタマ用アドレスCMAC「CA3」を、MCLAG識別子{MCLAG2}に対応付けてアドレステーブルFDBに学習する。
なお、ここでは、学習用フレームに対してMCLAG識別子(受信ポート識別子SP)を付加する動作例を示したが、実際には、ユーザフレームに対しても、学習用フレームの場合と同様にしてMCLAG識別子(受信ポート識別子SP)が付加される。例えば、スイッチ装置SWE1a(具体的には中継処理部20)は、MCLAG用ポートPm1で受信したフレームをブリッジ用ポートPbに中継する場合、当該フレームにMCLAG識別子{MCLAG1}を付加する。一方、スイッチ装置SWE1b(具体的には中継処理部20)は、MCLAG識別子{MCLAG1}が付加されたフレームをブリッジ用ポートPbで受信した場合、当該フレームに含まれる送信元のカスタマ用アドレスCSAを、当該MCLAG識別子{MCLAG1}に対応付けてアドレステーブルFDBに学習する。
《スイッチ装置の詳細》
図7は、図3の中継システムにおいて、MCLAGスイッチを構成するスイッチ装置の主要部の構成例を示すブロック図である。図8は、図7におけるアドレステーブルの構造例を示す概略図である。図9は、図7におけるMCLAGテーブルの構造例を示す概略図である。図10(a)は、図7における受信側IVID管理テーブルの構造例を示す概略図であり、図10(b)は、図7における送信側IVID管理テーブルの構造例を示す概略図であり、図10(c)は、図7におけるマルチキャスト管理テーブルの構造例を示す概略図である。
図7に示すスイッチ装置SWEは、PBB網10の外部(例えばPB網11a)に接続される下位リンク用ポートと、PBB網10に接続される上位リンク用ポートと、各種処理部および各種テーブルと、を有する。下位リンク用ポートおよび上位リンク用ポートの一方または両方には、単数または複数のMCLAG用ポートが含まれる。図7の例では、下位リンク用ポートにMCLAG用ポートPm1が含まれ、上位リンク用ポートにMCLAG用ポートPm2が含まれる。
さらに、下位リンク用ポートには、ブリッジ用ポートPbと、MCLAGが設定されないポートPdと、が含まれ、上位リンク用ポートには、MCLAGが設定されないポートPuが含まれる。なお、本実施の形態のスイッチ装置は、少なくとも1個のMCLAG用ポートと、下位リンク用ポートであるブリッジ用ポートPbと、を備えていれば、残りのポートは、特に限定されない。以下、各種処理部および各種テーブルに関して説明する。
インタフェース部30は、受信バッファおよび送信バッファを備え、下位リンク用ポート(Pd,Pm1,Pb)との間で非カプセル化フレームの送信または受信を行い、上位リンク用ポート(Pm2,Pu)との間でカプセル化フレームの送信または受信を行う。また、インタフェース部30は、障害検出部38と、受信ポート識別子付加部39と、を備える。受信ポート識別子付加部39は、複数のポートのいずれかでフレームを受信した場合に、当該フレームに受信ポート識別子を付加する。
障害検出部38は、ハードウェアによって複数のポート毎の障害有無(リンクダウン有無)を検出する。障害検出部38は、例えば、受信した光信号レベルを監視し、光信号レベルの不足といった異常状態が所定の期間継続する場合にリンクダウン有りを検出する。あるいは、障害検出部38は、受信した信号から、アイドル状態で生成されるリンクパルス信号の有無や非アイドル状態でのデータ信号の有無を監視し、リンクパルス信号およびデータ信号が共に無しといった異常状態が所定の期間継続する場合にリンクダウン有りを検出する。
IVID割り当て部31は、予め事業者等によって定められた受信側IVID管理テーブル32aに基づいて、下位リンク用ポートで受信した非カプセル化フレームまたは上位リンク用ポートで受信したカプセル化フレームに、内部VLAN識別子IVIDを割り当てる。受信側IVID管理テーブル32aは、図10(a)に示されるように、サービスVLAN識別子SVIDと受信ポート識別子との組合せを、内部VLAN識別子IVIDに対応付けて保持している。
サービスVLAN識別子SVIDは、非カプセル化フレームに含まれており、受信ポート識別子は、受信ポート識別子付加部39で当該非カプセル化フレームに付加されている。IVID割り当て部31は、当該サービスVLAN識別子SVIDおよび受信ポート識別子に対応する内部VLAN識別子IVIDを受信側IVID管理テーブル32aから取得し、当該内部VLAN識別子IVIDを非カプセル化フレームに付加して中継処理部20に送信する。
また、受信側IVID管理テーブル32aは、図10(a)に示されるように、バックボーンVLAN識別子BVIDと受信ポート識別子との組合せを、内部VLAN識別子IVIDに対応付けて保持している。バックボーンVLAN識別子BVIDは、カプセル化フレームに含まれており、受信ポート識別子は、受信ポート識別子付加部39で当該カプセル化フレームに付加されている。IVID割り当て部31は、当該バックボーンVLAN識別子BVIDおよび受信ポート識別子に対応する内部VLAN識別子IVIDを受信側IVID管理テーブル32aから取得し、当該内部VLAN識別子IVIDをカプセル化フレームに付加して中継処理部20に送信する。
MCLAGテーブル21は、図9に示すように、単数または複数のMCLAG用ポートを、単数または複数のMCLAG識別子にそれぞれ対応付けて保持する。また、当該MCLAGテーブル21は、ここでは、自装置およびピア装置における各MCLAG用ポートの障害状態も保持する。
アドレステーブルFDBは、図8に示すように、下位リンク用ポートの先に存在するカスタマ用アドレスCMACを、当該下位リンク用ポートを表すポート識別子または当該下位リンク用ポートに対応付けられるMCLAG識別子と、内部VLAN識別子IVIDと、に対応付けて保持する。また、アドレステーブルFDBは、上位リンク用ポートの先に存在するカスタマ用アドレスCMACを、カプセル化用アドレスBMACと、当該上位リンク用ポートを表すポート識別子または当該上位リンク用ポートに対応付けられるMCLAG識別子と、内部VLAN識別子IVIDと、に対応付けて保持する。
図8では、一例として、図4のスイッチ装置SWE1bのアドレステーブルFDBが示されている。ここでは、図4〜図6で説明しなかったカスタマ用アドレスに関して説明する。図8におけるカスタマ用アドレスCA1a,CA1c,CA2は、それぞれ、図4におけるカスタマ端末TM1a,TM1c,TM2のMACアドレスである。これらのカスタマ用アドレスCA1a,CA1c,CA2は、アドレステーブルFDBにおいて、例えば、以下のような状態で保持される。
MCLAG用ポート(下位リンク用ポート)Pm1の先に存在するカスタマ用アドレスCA1aは、MCLAG識別子{MCLAG1}と内部VLAN識別子IVID「xxx」とに対応付けて保持される。ポート(下位リンク用ポート)Pdの先に存在するカスタマ用アドレスCA1cは、ポート識別子{Pd}と内部VLAN識別子IVID「xxx」とに対応付けて保持される。ブリッジ用ポート(下位リンク用ポート)Pbの先に存在するカスタマ用アドレスCA2は、ポート識別子{Pb}と内部VLAN識別子IVID「xxx」とに対応付けて保持される。
MCLAG制御部33は、例えば、各種制御フレームの送信および受信等を行うことによって、MCLAGスイッチMCLAGSWの動作を制御する。制御フレームの一つとして、例えば、ピア装置との間でブリッジ用ポートPbを介して定期的に送信および受信を行うためのMCLAG用の制御フレームが挙げられる。MCLAG用の制御フレームの送信および受信によって、互いのスイッチ装置での障害情報の共有や、互いのスイッチ装置の生存確認等が行われる。
また、制御フレームの一つとして、例えば、イーサネットOAM(Operations, Administration, and Maintenance)等の制御フレームが含まれていてもよい。イーサネットOAMでは、例えば、CCM(Continuity Check Message)等と呼ばれる制御フレーム(試験フレーム)の定期的な送信および受信によって、装置外部との間の疎通性を監視することができる。これによって、例えば、各MCLAG用ポートPm1,Pm2の障害有無を検出することができる。MCLAG制御部33は、障害検出部38からの障害情報と、MCLAG用の制御フレームやCCM等から得られる障害情報と、に基づいて、MCLAGテーブル21における各MCLAG用ポートの障害状態を管理する。
中継処理部20は、学習用フレーム送信部22a、学習用フレーム受信部22bおよびMCLAG識別子付加部23を備え、主に、ポートでフレームを受信した場合に、アドレステーブルFDBの学習および検索等を行う。具体的には、中継処理部20は、ポートでフレームを受信した場合に、当該フレームが非カプセル化フレームかカプセル化フレームかに応じて、図8に示したような各種情報をアドレステーブルFDBに学習する。
図8のアドレステーブルFDBにおいて、内部VLAN識別子IVIDは、IVID割り当て部31によって定められる。ポート識別子/MCLAG識別子の中のポート識別子は、受信ポート識別子付加部39によって定められる。ポート識別子/MCLAG識別子の中のMCLAG識別子は、受信ポート識別子付加部39によって付加された受信ポート識別子に基づき、MCLAGテーブル21を参照することで定められる。また、ポート識別子/MCLAG識別子の中のMCLAG識別子は、図6に示したように、ピア装置からMCLAG識別子が付加されたフレームを受信した場合には、当該MCLAG識別子に定められる。
また、中継処理部20は、非カプセル化フレームを受信した場合には、当該フレームに含まれる宛先のカスタマ用アドレスCDAおよび当該フレームに付加された内部VLAN識別子IVIDを検索キーとしてアドレステーブルFDBを検索し、宛先ポート識別子や、宛先のカプセル化用アドレスBDAを取得する。一方、中継処理部20は、カプセル化フレームを受信した場合には、当該フレームに含まれる宛先のカプセル化用アドレスBDAに応じて次のような処理を行う。
まず、宛先のカプセル化用アドレスBDAが自装置のカプセル化用アドレスの場合、中継処理部20は、フレームに含まれる宛先のカスタマ用アドレスCDAおよび当該フレームに付加された内部VLAN識別子IVIDを検索キーとしてアドレステーブルFDBを検索し、宛先ポート識別子を取得する。一方、宛先のカプセル化用アドレスBDAが他装置のカプセル化用アドレスの場合、中継処理部20は、フレームに含まれる宛先のカプセル化用アドレスBDAおよび当該フレームに付加された内部VLAN識別子IVIDを検索キーとしてアドレステーブルFDBを検索し、宛先ポート識別子を取得する。
そして、このようにして取得された宛先ポート識別子がMCLAG識別子ではなく通常のポート識別子の場合、中継処理部20は、送信ポート識別子を当該宛先ポート識別子に定める。一方、宛先ポート識別子がMCLAG識別子である場合、中継処理部20は、所定のMCLAGの動作方式に基づき、かつ、MCLAGテーブル21における各MCLAG用ポートの障害状態を反映して、送信ポート識別子を定める。すなわち、中継処理部20は、送信ポート識別子を、自装置のMCLAG用ポートのポート識別子か、または、ブリッジ用ポートのポート識別子{Pb}に定める。
中継処理部20は、このようにして定めた送信ポート識別子をフレームに付加する。なお、この際に、MCLAG識別子付加部23は、図6で述べたように、MCLAG用ポートで受信したフレームをブリッジ用ポートPbに中継する場合に、当該フレームに、当該MCLAG用ポートに対応するMCLAG識別子を付加する。言い換えれば、MCLAG識別子付加部23は、受信ポート識別子がMCLAG識別子の場合には、送信ポート識別子が付加されたフレームに、当該MCLAG識別子をさらに付加する。
そして、中継処理部20は、送信ポート識別子または加えてMCLAG識別子を付加したフレームを、受信ポート識別子と送信ポート識別子との対応関係に応じて、異なる処理部に送信する。具体的には、中継処理部20は、受信ポート識別子が下位リンク用ポートであり、送信ポート識別子が上位リンク用ポートである場合には、非カプセル化フレームをカプセル化実行部35に送信する。また、中継処理部20は、受信ポート識別子が上位リンク用ポートであり、送信ポート識別子が下位リンク用ポートである場合には、カプセル化フレームをデカプセル化実行部36に送信する。さらに、中継処理部20は、受信ポート識別子および送信ポート識別子が共に下位リンク用ポートであるか、共に上位リンク用ポートである場合には、フレームを中継実行部37に送信する。
カプセル化実行部35は、受信した非カプセル化フレームをカプセル化フレームに変換する。この際に、カプセル化実行部35は、送信元のカプセル化用アドレスBSAを自装置のカプセル化用アドレスに定める。また、カプセル化実行部35は、宛先のカプセル化用アドレスBDAを、中継処理部20によって取得されたカプセル化用アドレスBMACに定める。さらに、カプセル化実行部35は、予め事業者等によって定められた送信側IVID管理テーブル32bに基づいて、サービスインスタンス識別子ISIDおよびバックボーンVLAN識別子BVIDを定める。
送信側IVID管理テーブル32bは、図10(b)に示されるように、内部VLAN識別子IVIDと送信ポート識別子との組合せを、サービスインスタンス識別子ISIDおよびバックボーンVLAN識別子BVIDに対応付けて保持している。内部VLAN識別子IVIDは、IVID割り当て部31によって非カプセル化フレームに付加されており、送信ポート識別子は、中継処理部20によって当該フレームに付加されている。これに基づいて、カプセル化実行部35は、サービスインスタンス識別子ISIDおよびバックボーンVLAN識別子BVID等を含んだカプセル化フレームを生成し、中継実行部37に送信する。
デカプセル化実行部36は、受信したカプセル化フレームを非カプセル化フレームに変換する。この際に、デカプセル化実行部36は、送信側IVID管理テーブル32bに基づいて、サービスVLAN識別子SVIDを定める。送信側IVID管理テーブル32bは、前述した情報の他に、図10(b)に示されるように、内部VLAN識別子IVIDと送信ポート識別子との組合せを、サービスVLAN識別子SVIDに対応付けて保持している。これに基づいて、デカプセル化実行部36は、サービスVLAN識別子SVIDを含んだ非カプセル化フレームを生成し、中継実行部37に送信する。
学習用フレーム送信部22aは、中継処理部20からのフレームを受けて、当該フレームの送信元のカスタマ用アドレスCSAを含んだ学習用フレームを生成する。具体的には、学習用フレーム送信部22aは、受信したフレーム(非カプセル化フレームまたはカプセル化フレーム)をコピーし、当該コピーフレームに含まれるペイロードを削除し、それに学習用であることを表す学習用識別子を付加したコピーフレームを、学習用フレームMFとして生成する。なお、フレームを受信したポートがMCLAG用ポートの場合、学習用フレームMFには、通常のフレームの場合と同様に、MCLAG識別子付加部23によって受信ポート識別子SPであるMCLAG識別子も付加される。
学習用フレーム送信部22aは、このようにして生成した学習用フレームMFに、送信ポート識別子であるブリッジ用ポートPbのポート識別子{Pb}を付加し(すなわち、宛先をブリッジ用ポートPbに定め)、通常のフレームの場合と同様にしてその後の処理を行う。具体的には、学習用フレーム送信部22aは、下位リンク用ポートで受信した非カプセル化フレームをもとに学習用フレームMFを生成した場合、送信ポート識別子({Pb})も下位リンク用ポートであるため、当該学習用フレームMFをそのまま中継実行部37に送信する。一方、学習用フレーム送信部22aは、上位リンク用ポートで受信したカプセル化フレームをもとに学習用フレームMFを生成した場合、送信ポート識別子({Pb})が下位リンク用ポートであるため、当該学習用フレームMFをデカプセル化実行部35に送信する。
中継実行部37は、前述した各処理部からのフレーム(非カプセル化フレーム、カプセル化フレーム、または学習用フレームMF)を、インタフェース部30内の所定の送信バッファに向けて送信する。この所定の送信バッファは、当該フレームに付加されている送信ポート識別子に対応するバッファである。また、この際に、中継実行部37は、フレームに付加されている不要な情報(例えば、内部VLAN識別子IVIDや送信ポート識別子等)を削除する。インタフェース部30内の送信バッファは、中継実行部37からのフレームを受けて、対応するポート(すなわち送信ポート識別子に該当する下位リンク用ポートまたは上位リンク用ポート)にフレームを送信する。
図11は、図7のスイッチ装置から送信される学習用フレームの構造例を示す概略図である。スイッチ装置から送信される学習用フレームMFは、前述したように、受信した非カプセル化フレームのコピーによって生成されるか、あるいは、受信したカプセル化フレームのコピーをデカプセル化することで生成されるため、図11に示されるように、図2のフレームFL2とほぼ同様の構造を備える。言うなれば、学習用フレームMFは、受信した通常のフレームをピア装置に中継する状況を模写したようなフレームとなっている。ただし、図11の学習用フレームMFは、図2の場合と異なり、通常のフレームに含まれるペイロードを備えずに、学習用識別子40と、場合によっては受信ポート識別子SP(すなわちMCLAG識別子)と、を備える。
中継処理部20内の学習用フレーム受信部22bは、ブリッジ用ポートPbで学習用フレームMFを受信した場合に、当該学習用フレームMFに含まれる送信元のカスタマ用アドレスCSAを、所定の受信ポート識別子と内部VLAN識別子IVIDとに対応付けてアドレステーブルFDBに学習する。この際に、学習用フレーム受信部22bは、例えば、図11の学習用識別子40等に基づき、学習用フレームMFであることを認識する。学習用フレーム受信部22bは、学習用フレームMFであることを認識した場合、アドレステーブルFDBの宛先検索を行わずに、当該学習用フレームMFを破棄する。
ここで、所定の受信ポート識別子は、図11の受信ポート識別子SPにMCLAG識別子が格納されている場合には、当該MCLAG識別子となり、受信ポート識別子SPが格納されていない場合(またはその旨を表す固定値等が格納されている場合)には、ポート識別子{Pb}となる。また、内部VLAN識別子IVIDは、IVID割り当て部31によって定められる。すなわち、IVID割り当て部31は、所定の受信ポート識別子と図11のサービスVLAN識別子SVIDとを検索キーとして受信側IVID管理テーブル32aを検索することで、内部VLAN識別子IVIDを定める。
なお、ここでは、マルチキャストによる中継が行われない場合(言い換えれば、ユニキャストによる中継が行われる場合)を想定して説明を行ったが、マルチキャストによる中継が行われる場合には、マルチキャスト管理テーブル32cが用いられる。マルチキャスト管理テーブル32cは、図10(c)に示されるように、内部VLAN識別子IVIDと、単数または複数の送信ポート識別子との対応関係を保持する。
例えば、スイッチ装置SWEは、内部VLAN識別子IVID「xxx」が割り当てられるフレームを受信した場合で、当該フレームの宛先ポートが不明(すなわちアドレステーブルFDBがミスヒット)の場合、マルチキャスト管理テーブル32cに基づき、当該フレームをフラッディングする。具体的には、中継処理部20は、受信したフレームに割り当てられた内部VLAN識別子IVIDを検索キーとしてマルチキャスト管理テーブル32cを検索し、単数または複数の送信ポート識別子を取得する。中継処理部20は、取得した送信ポート識別子の中から受信ポート識別子に一致するポート識別子を除き、残りの送信ポート識別子をフラッディングの対象に定める。
ここで、中継処理部20は、例えば、このフラッディングの対象となる送信ポート識別子の数だけフレームをコピーし、当該フレームにそれぞれ送信ポート識別子を付加する。そして、中継処理部20は、ユニキャストの場合と同様に、各フレームを、受信ポート識別子と送信ポート識別子との対応関係に応じて、カプセル化実行部35、またはデカプセル化実行部36、あるいは中継実行部37に送信する。
ただし、実際には、同一の内部VLAN識別子に対応付けられるポートであっても、フラッディングの対象から除外すべきポートが存在する。例えば、図12および図4で述べたように、スイッチ装置SWEは、宛先のカプセル化用アドレスBDAが自装置宛てであるフレームを受信した場合には、上位リンク用ポートをフラッディングの対象から除外する必要がある。また、スイッチ装置SWEは、宛先のカプセル化用アドレスBDAが他装置宛てであるフレームを受信した場合には、下位リンク用ポートをフラッディングの対象から除外する必要がある。
そこで、図7の中継実行部37は、図4で述べたような送信制御部(例えば送信フィルタ部)34を備える。送信制御部34は、例えば、上位リンク用ポートで自装置宛てではないカプセル化フレームを受信した場合に、当該カプセル化フレームに対して装置内部で付加される内部フラグに基づいて下位リンク用ポートからの送信を禁止する。また、中継処理部20は、図4で述べたように、例えば、宛先のカプセル化用アドレスBDAが自装置宛てか他装置宛てかに応じて、フレームに付加する内部フラグの値を定めるような機能を備える。
ただし、この場合、図12で述べたような問題が生じ得る。すなわち、学習用フレーム送信部は、内部フラグが付加されたカプセル化フレームをコピーすることで学習用フレームMFを生成するため、当該学習用フレームMFは、内部フラグによってブリッジ用ポートPbからの送信が禁止される。そこで、図7の学習用フレーム送信部22aは、図4で述べたように、内部フラグが付加されたカプセル化フレームをコピーし、当該内部フラグを、送信制御部34で通過が許可される内部フラグに変更することで学習用フレームMFを生成する。これによって、図12の問題を解決できる。
以上、本実施の形態の中継システムおよびスイッチ装置を用いることで、代表的には、通信の輻輳を軽減することが可能になる。なお、図7では、内部VLAN識別子IVIDを介して、サービスVLAN識別子SVIDと、サービスインスタンス識別子ISIDおよびバックボーンVLAN識別子BVIDとの間の変換を行う構成例を示したが、内部VLAN識別子IVIDを介さない構成を用いてもよい。例えば、サービスVLAN識別子SVIDと、サービスインスタンス識別子ISIDおよびバックボーンVLAN識別子BVIDと、の対応関係をテーブルで定め、当該テーブルを用いて変換を行ってもよい。この場合、アドレステーブルFDBは、例えば、内部VLAN識別子IVIDの代わりにバックボーンVLAN識別子BVIDを学習すればよい。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。