ネットワークシステム、コアスイッチ、エッジスイッチ、データ中継方法
【課題】MAC−in−MACフレームでデータ転送が実施されるネットワークにおいてマルチキャストパケットのフラッディングを回避することができる技術を提供する。
【解決手段】キャリアネットワーク10において、エッジスイッチ200は、参加メッセージを特定する参加メッセージ特定部211と、参加メッセージをカプセル化したMAC−in−MACフレームのヘッダにマーキング情報を付加するマーキング付加部213とを含み、コアスイッチ100は、マーキング情報がヘッダに付加されたMAC−in−MACフレームを特定するマーキング特定部111と、MAC−in−MACフレームにカプセル化された参加メッセージのマルチキャストグループを、そのフレームが入力された入出力ポートに関連付けるマルチキャストポート設定部112とを含む。
【解決手段】キャリアネットワーク10において、エッジスイッチ200は、参加メッセージを特定する参加メッセージ特定部211と、参加メッセージをカプセル化したMAC−in−MACフレームのヘッダにマーキング情報を付加するマーキング付加部213とを含み、コアスイッチ100は、マーキング情報がヘッダに付加されたMAC−in−MACフレームを特定するマーキング特定部111と、MAC−in−MACフレームにカプセル化された参加メッセージのマルチキャストグループを、そのフレームが入力された入出力ポートに関連付けるマルチキャストポート設定部112とを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザネットワークにおける複数の拠点間で転送されるレイヤ2フレームを中継するレイヤ2仮想プライベートネットワーク(Layer 2 Virtual Private Network、「L2VPN」とも呼ぶ)を構築するネットワークシステムに関する。
【背景技術】
【0002】
従来、標準規格IEEE802.1ah(Institute of Electrical and Electronic Engineers 802.1ah、プロバイダバックボーンブリッジ、Provider Backbone Bridge、PBB)に準拠してL2VPNを構築するネットワークシステムが提案されていた(特許文献1)。このようなネットワークシステムでは、基幹通信回線であるコアネットワーク(Core Network、バックボーンネットワーク(Backbone Network)とも呼ばれる)において、レイヤ2フレームであるMACフレーム(Media Access Control frame、マックフレーム)を更にMACフレームでカプセル化したMAC−in−MAC(マックインマック)フレームでデータ転送が実施される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−60831号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来、マルチキャストグループに参加するIGMP(Internet Group Management Protocol)joinメッセージを始めとする参加メッセージがL2VPNに転送された場合、コアネットワークにおけるレイヤ2スイッチであるコアスイッチは、MAC−in−MACフレームにカプセル化された参加メッセージをスヌーピング(Snooping)によって認識することができないという問題があった。そのため、参加メッセージに基づいて配信されたマルチキャストパケットがL2VPNに転送された場合、コアネットワークにおける全てのコアスイッチにマルチキャストパケットがフラッディング(Flooding)されてしまい、このフラッディングは、L2VPNにおける通信速度低下の要因となっていた。
【0005】
本発明は、上記した課題を踏まえ、MAC−in−MACフレームでデータ転送が実施されるネットワークにおいてマルチキャストパケットのフラッディングを回避することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【0007】
[適用例1] 適用例1のネットワークシステムは、ユーザネットワークにおける複数の拠点間で転送されるMACフレームを中継するレイヤ2仮想プライベートネットワークを構築するネットワークシステムであって、前記MACフレームをカプセル化したMAC−in−MACフレームを中継するコアスイッチと、前記MACフレームと前記MAC−in−MACフレームとの間の変換を行って前記ユーザネットワークと前記コアスイッチとの間を中継するエッジスイッチとを備え、前記エッジスイッチは、前記ユーザネットワークから転送されたMACフレームの中から、マルチキャストグループに参加するホストからルータに対する参加メッセージを特定する参加メッセージ特定部と、前記参加メッセージ特定部によって特定された参加メッセージをカプセル化したMAC−in−MACフレームのヘッダに、該参加メッセージを示すマーキング情報を付加するマーキング付加部とを含み、前記コアスイッチは、レイヤ2フレームを入出力する複数の入出力ポートと、前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、前記マーキング情報がヘッダに付加されたMAC−in−MACフレームを特定するマーキング特定部と、前記マーキング特定部によって特定されたMAC−in−MACフレームにカプセル化された参加メッセージのマルチキャストグループを、該MAC−in−MACフレームが入力された入出力ポートに関連付けるポート設定部とを含むことを特徴とする。
【0008】
適用例1のネットワークシステムによれば、コアスイッチにおいてMAC−in−MACフレームのヘッダに付加されたマーキング情報をスヌーピングすることによって、コアスイッチの入出力ポートをマルチキャストグループに関連付けることができる。これによって、マルチキャストフレームがカプセル化されたMAC−in−MACフレームからマルチキャストグループを特定し、そのマルチキャストグループに関連付けられた入出力ポートからMAC−in−MACフレームを出力することができる。その結果、マルチキャストフレームがカプセル化されたMAC−in−MACフレームのフラッディングが回避され、マルチキャスト通信による通信速度の低下を抑制することができる。
【0009】
[適用例2] 適用例1のネットワークシステムにおいて、前記エッジスイッチは、更に、前記ユーザネットワークから転送されたMACフレームの中から、前記ルータから転送されるマルチキャストフレームを特定するマルチキャストフレーム特定部と、前記マルチキャストフレーム特定部によって特定されたマルチキャストフレームをカプセル化したMAC−in−MACフレームのヘッダに、該マルチキャストフレームのマルチキャストグループを示すマルチキャストグループ情報を付加するマルチキャストグループ付加部とを含み、前記コアスイッチは、更に、前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、前記マルチキャストグループ情報がヘッダに付加されたMAC−in−MACフレームを特定するマルチキャストグループ特定部と、前記マルチキャストグループ特定部によって特定されたMAC−in−MACフレームのマルチキャストグループ情報によって示されるマルチキャストグループに対して前記ポート設定部によって関連付けられた入出力ポートを、該MAC−in−MACフレームを出力する転送先ポートとして選定するポート選定部とを含むことを特徴とする。適用例2のネットワークシステムによれば、コアスイッチにおいてMAC−in−MACフレームのヘッダに付加されたマルチキャストグループ情報をスヌーピングすることによって、マルチキャストフレームがカプセル化されたMAC−in−MACフレームの宛先であるマルチキャストグループを容易に特定することができる。
【0010】
[適用例3] 適用例1または適用例2のネットワークシステムにおいて、前記エッジスイッチの前記マーキング付加部は、前記参加メッセージをカプセル化したMAC−in−MACフレームのヘッダにおける
(a1)該MAC−in−MACフレームを処理する優先度を示す情報を格納する格納部、
(a2)該MAC−in−MACフレームの発信元を示す情報を格納する格納部、
(a3)該MAC−in−MACフレームの宛先を示す情報を格納する格納部、
(a4)該MAC−in−MACフレームによって運ばれるデータを規定するプロトコルおよび該データのサイズの少なくとも一方を示す情報を格納する格納部
の少なくとも一つに前記マーキング情報を付加するとしても良い。適用例3のネットワークシステムによれば、MAC−in−MACフレームのデータ転送に不都合を生じさせることなく、コアスイッチによってスヌーピング可能に、MAC−in−MACフレームのヘッダにマーキング情報を付加することができる。
【0011】
[適用例4] 適用例1ないし適用例3のいずれかのネットワークシステムにおいて、前記エッジスイッチの前記マルチキャストグループ付加部は、前記マルチキャストフレームをカプセル化したMAC−in−MACフレームのヘッダにおける
(b1)該MAC−in−MACフレームの宛先を示す情報を格納する格納部、
(b2)該MAC−in−MACフレームを転送するユーザネットワークを特定する情報を格納する格納部
の少なくとも一つに前記マルチキャストグループ情報を付加するとしても良い。適用例4のネットワークシステムによれば、MAC−in−MACフレームのデータ転送に不都合を生じさせることなく、コアスイッチによってスヌーピング可能に、MAC−in−MACフレームのヘッダにマルチキャストグループ情報を付加することができる。
【0012】
[適用例5] 適用例5のコアスイッチは、MACフレームをカプセル化したMAC−in−MACフレームを中継するコアスイッチであって、レイヤ2フレームを入出力する複数の入出力ポートと、前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、マルチキャストグループに参加するホストからルータに対する参加メッセージを示すマーキング情報がヘッダに付加されたMAC−in−MACフレームを特定するマーキング特定部と、前記マーキング特定部によって特定されたMAC−in−MACフレームにカプセル化された参加メッセージのマルチキャストグループを、該MAC−in−MACフレームが入力された入出力ポートに関連付けるポート設定部とを備えることを特徴とする。
【0013】
適用例5のコアスイッチによれば、MAC−in−MACフレームのヘッダに付加されたマーキング情報をスヌーピングすることによって、コアスイッチの入出力ポートをマルチキャストグループに関連付けることができる。これによって、マルチキャストフレームがカプセル化されたMAC−in−MACフレームからマルチキャストグループを特定し、そのマルチキャストグループに関連付けられた入出力ポートからMAC−in−MACフレームを出力することができる。その結果、マルチキャストフレームがカプセル化されたMAC−in−MACフレームのフラッディングが回避され、マルチキャスト通信による通信速度の低下を抑制することができる。
【0014】
[適用例6] 適用例5のコアスイッチは、更に、前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、マルチキャストグループを示すマルチキャストグループ情報がヘッダに付加されたMAC−in−MACフレームを特定するマルチキャストグループ特定部と、前記マルチキャストグループ特定部によって特定されたMAC−in−MACフレームのマルチキャストグループ情報によって示されるマルチキャストグループに対して前記ポート設定部によって関連付けられた入出力ポートを、該MAC−in−MACフレームを出力する転送先ポートとして選定するポート選定部とを備えても良い。適用例6のコアスイッチによれば、MAC−in−MACフレームのヘッダに付加されたマルチキャストグループ情報をスヌーピングすることによって、マルチキャストフレームがカプセル化されたMAC−in−MACフレームの宛先であるマルチキャストグループを容易に特定することができる。
【0015】
[適用例7] 適用例7のエッジスイッチは、MACフレームとMAC−in−MACフレームとの間の変換を行ってユーザネットワークとコアスイッチとの間を中継するエッジスイッチであって、前記ユーザネットワークから転送されたMACフレームの中から、マルチキャストグループに参加するホストからルータに対する参加メッセージを特定する参加メッセージ特定部と、前記参加メッセージ特定部によって特定された参加メッセージをカプセル化したMAC−in−MACフレームのヘッダに、該参加メッセージを示すマーキング情報を付加するマーキング付加部とを備えることを特徴とする。適用例7のエッジスイッチによれば、参加メッセージがカプセル化されていることをコアスイッチがスヌーピングによって認識することが可能なMAC−in−MACフレームを生成することができる。
【0016】
[適用例8] 適用例7のエッジスイッチは、更に、前記ユーザネットワークから転送されたMACフレームの中から、前記ルータから転送されるマルチキャストフレームを特定するマルチキャストフレーム特定部と、前記マルチキャストフレーム特定部によって特定されたマルチキャストフレームをカプセル化したMAC−in−MACフレームのヘッダに、該マルチキャストフレームのマルチキャストグループを示すマルチキャストグループ情報を付加するマルチキャストグループ付加部とを備えても良い。適用例8のエッジスイッチによれば、マルチキャストフレームがカプセル化されたMAC−in−MACフレームの宛先であるマルチキャストグループをコアスイッチがスヌーピングによって認識することが可能なMAC−in−MACフレームを生成することができる。
【0017】
[適用例9] 適用例9のデータ中継方法は、ユーザネットワークにおける複数の拠点間で転送されるMACフレームを中継するデータ中継方法であって、レイヤ2フレームを入出力する複数の入出力ポートを備えるコアスイッチが、前記MACフレームをカプセル化したMAC−in−MACフレームを中継するコア中継工程と、エッジスイッチが、前記MACフレームと前記MAC−in−MACフレームとの間の変換を行って前記ユーザネットワークと前記コアスイッチとの間を中継するエッジ中継工程とを備え、前記エッジ中継工程は、前記ユーザネットワークから転送されたMACフレームの中から、マルチキャストグループに参加するホストからルータに対する参加メッセージを特定する参加メッセージ特定工程と、前記参加メッセージ特定工程によって特定された参加メッセージをカプセル化したMAC−in−MACフレームのヘッダに、該参加メッセージを示すマーキング情報を付加するマーキング付加工程とを含み、前記コア中継工程は、前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、前記マーキング情報がヘッダに付加されたMAC−in−MACフレームを特定するマーキング特定工程と、前記マーキング特定工程によって特定されたMAC−in−MACフレームにカプセル化された参加メッセージのマルチキャストグループを、該MAC−in−MACフレームが入力された入出力ポートに関連付けるポート設定工程とを含むことを特徴とする。
【0018】
適用例9のデータ中継方法によれば、コアスイッチにおいてMAC−in−MACフレームのヘッダに付加されたマーキング情報をスヌーピングすることによって、コアスイッチの入出力ポートをマルチキャストグループに関連付けることができる。これによって、マルチキャストフレームがカプセル化されたMAC−in−MACフレームからマルチキャストグループを特定し、そのマルチキャストグループに関連付けられた入出力ポートからMAC−in−MACフレームを出力することができる。その結果、マルチキャストフレームがカプセル化されたMAC−in−MACフレームのフラッディングが回避され、マルチキャスト通信による通信速度の低下を抑制することができる。
【0019】
[適用例10] 適用例9のデータ中継方法において、前記エッジ中継工程は、更に、前記ユーザネットワークから転送されたMACフレームの中から、前記ルータから転送されるマルチキャストフレームを特定するマルチキャストフレーム特定工程と、前記マルチキャストフレーム特定工程によって特定されたマルチキャストフレームをカプセル化したMAC−in−MACフレームのヘッダに、該マルチキャストフレームのマルチキャストグループを示すマルチキャストグループ情報を付加するマルチキャストグループ付加工程とを含み、前記コア中継工程は、更に、前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、前記マルチキャストグループ情報がヘッダに付加されたMAC−in−MACフレームを特定するマルチキャストグループ特定工程と、前記マルチキャストグループ特定工程によって特定されたMAC−in−MACフレームのマルチキャストグループ情報によって示されるマルチキャストグループに対して前記ポート設定工程によって関連付けられた入出力ポートを、該MAC−in−MACフレームを出力する転送先ポートとして選定するポート選定工程とを含むとしても良い。適用例9のデータ中継方法によれば、コアスイッチにおいてMAC−in−MACフレームのヘッダに付加されたマルチキャストグループ情報をスヌーピングすることによって、マルチキャストフレームがカプセル化されたMAC−in−MACフレームの宛先であるマルチキャストグループを容易に特定することができる。
【0020】
本発明の形態は、ネットワークシステム、コアスイッチ、エッジスイッチ、データ中継方法に限るものではなく、例えば、コアスイッチの機能をコンピュータに実現させるためのプログラム、エッジスイッチの機能をコンピュータに実現させるためのプログラム、コアスイッチにおいてデータを中継する方法、エッジスイッチにおいてデータを中継する方法などの他の形態に適用することもできる。また、本発明は、前述の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。
【図面の簡単な説明】
【0021】
【図1】コンピュータネットワークの構成を示す説明図である。
【図2】MACフレームのフレーム構造およびMAC−in−MACフレームのフレーム構造を模式的に示す説明図である。
【図3】キャリアネットワークにおけるエッジスイッチの詳細構成を示す説明図である。
【図4】エッジスイッチにおける転送先データベースの一例を示す説明図である。
【図5】エッジスイッチにおける転送先データベースの一例を示す説明図である。
【図6】キャリアネットワークにおけるコアスイッチの詳細構成を示す説明図である。
【図7】コアスイッチにおける転送先データベースの一例を示す説明図である。
【図8】キャリアネットワークにおけるエッジスイッチのエッジ制御部が実行するエッジ中継処理を示すフローチャートである。
【図9】キャリアネットワークにおけるエッジスイッチのエッジ制御部が実行するエッジ中継処理を示すフローチャートである。
【図10】キャリアネットワークにおけるエッジスイッチのエッジ制御部が実行するエッジ中継処理を示すフローチャートである。
【図11】キャリアネットワークにおけるコアスイッチのコア制御部が実行するコア中継処理を示すフローチャートである。
【図12】キャリアネットワークにおけるコアスイッチのコア制御部が実行するコア中継処理を示すフローチャートである。
【図13】キャリアネットワークにおけるコアスイッチのコア制御部が実行するコア中継処理を示すフローチャートである。
【図14】キャリアネットワークにおいてマルチキャストパケットが転送される様子を示す説明図である。
【発明を実施するための形態】
【0022】
以上説明した本発明の構成および作用を一層明らかにするために、以下本発明を適用したコンピュータネットワークについて説明する。
【0023】
A.実施例:
A1.コンピュータネットワークの構成:
図1は、コンピュータネットワーク1の構成を示す説明図である。コンピュータネットワーク1は、キャリアネットワーク10と、ユーザネットワーク61,62とを備えるネットワークシステムである。
【0024】
コンピュータネットワーク1のユーザネットワーク61,62は、キャリアネットワーク10の通信サービスを受ける企業や公共団体、個人などの顧客によって運営されるネットワークシステムである。ユーザネットワーク61は、複数の拠点ネットワーク61a,61b,61c,61dを備え、これら複数の拠点ネットワーク61a,61b,61c,61dの各々は、キャリアネットワーク10を通じて相互に接続され、ローカルエリアネットワーク(Local Area Network、以下「LAN」と呼ぶ)を協働して構成する。ユーザネットワーク62は、ユーザネットワーク61と同様に、複数の拠点ネットワーク62a,62b,62c,62dを備え、これら複数の拠点ネットワーク62a,62b,62c,62dの各々は、キャリアネットワーク10を通じて相互に接続され、LANを協働して構成する。
【0025】
ユーザネットワーク61,62は、単一のLANを構成しても良いし、更に、そのLANにおいて物理的な接続構成とは独立した仮想的なネットワークグループを設定した仮想ネットワークであるバーチャルLAN(Virtual LAN、以下「VLAN」と呼ぶ)を構成しても良い。なお、図1には、二つのユーザネットワークが図示され、それぞれに四つの拠点ネットワークが図示されているが、ユーザネットワークおよびその拠点ネットワークの数量は、図1に図示した数量に限られるものではなく、適宜、増減することが可能である。
【0026】
ユーザネットワーク61は、複数の拠点ネットワーク61a,61b,61c,61dの少なくとも一つに、種々の演算処理を実行するパーソナルコンピュータ610と、ユーザネットワーク61を他のネットワークに相互に接続するルータ612とを備える。
【0027】
本実施例の説明では、ユーザネットワーク61に所属するパーソナルコンピュータを一般的に示す場合には、「610」の符号を用い、特定の拠点ネットワークに所属するパーソナルコンピュータを示す場合には、その拠点ネットワークの符号に付された英文字を「610」の後に付した符号を用いるものとする。例えば、拠点ネットワーク62bに所属するパーソナルコンピュータには、「610b」の符号を用い、拠点ネットワーク62cに所属するパーソナルコンピュータには、「610c」の符号を用いる。
【0028】
本実施例の説明では、ユーザネットワーク61に所属するルータを一般的に示す場合には、「710」の符号を用い、特定の拠点ネットワークに所属するルータを示す場合には、その拠点ネットワークの符号に付された英文字を「710」の後に付した符合を用いるものとする。例えば、拠点ネットワーク62aに所属するルータには、「710a」の符号を用いる。
【0029】
本実施例では、拠点ネットワーク61aは、インターネット90とユーザネットワーク61との間を相互に接続するルータ612aを備える。本実施例では、インターネット90には、マルチキャストパケットを送信するサーバコンピュータ900が接続され、拠点ネットワーク62bのパーソナルコンピュータ610b、および拠点ネットワーク62cのパーソナルコンピュータ610cの各々は、拠点ネットワーク61aのルータ612aを通じて、サーバコンピュータ900からマルチキャストパケットを受信することが可能である。
【0030】
コンピュータネットワーク1のキャリアネットワーク10は、電気通信事業者によって運営され、ユーザネットワーク61,62における複数の拠点ネットワーク間で転送されるMACフレームを中継するレイヤ2仮想プライベートネットワーク(L2VPN)を構築するネットワークシステムである。キャリアネットワーク10は、標準規格IEEE802.1ahに準拠してMAC−in−MACフレームでデータ転送を実施する基幹通信回線であるコアネットワーク12を構築するコアスイッチ100と、ユーザネットワーク61,62とコアネットワーク12との間を相互に接続するエッジスイッチ200とを備える。コアスイッチ100およびエッジスイッチ200の構成および動作の詳細については後述する。
【0031】
本実施例の説明では、キャリアネットワーク10に所属するコアスイッチを一般的に示す場合には、「100」の符号を用い、特定のコアスイッチを個別に示す場合には、「100」の後に英文字を個別に付した符号を用いるものとする。例えば、図1に示す例では、五つのコアスイッチ100が図示され、これらのコアスイッチ100を個別に示す場合には、「100a」、「100b」、「100c」、「100d」、「100e」の符号を用いる。
【0032】
本実施例の説明では、キャリアネットワーク10に所属するエッジスイッチを一般的に示す場合には、「200」の符号を用い、特定のエッジスイッチを個別に示す場合には、「200」の後に英文字を個別に付した符号を用いるものとする。例えば、図1に示す例では、四つのエッジスイッチ200が図示され、これらのエッジスイッチ200を個別に示す場合には、「200a」、「200b」、「200c」、「200d」の符号を用いる。
【0033】
図1に示す例では、コアスイッチ100eは、コアスイッチ100a,100b,100c,100dの各々を相互に接続する。図1に示す例では、エッジスイッチ200aは、コアスイッチ100aと拠点ネットワーク61a,62aとの間を相互に接続し、エッジスイッチ200bは、コアスイッチ100bと拠点ネットワーク61b,62bとの間を相互に接続し、エッジスイッチ200cは、コアスイッチ100cと拠点ネットワーク61c,62cとの間を相互に接続し、エッジスイッチ200dは、コアスイッチ100dと拠点ネットワーク61d,62dとの間を相互に接続する。なお、図1には、五つのコアスイッチ100が図示され、四つのエッジスイッチ200が図示されているが、コアスイッチ100およびエッジスイッチ200の数量は、図1に図示した数量に限られるものではなく、適宜、増減することが可能である。
【0034】
図2は、MACフレームのフレーム構造700およびMAC−in−MACフレームのフレーム構造800を模式的に示す説明図である。図2の上段には、MAC−in−MACフレームのフレーム構造800を図示し、図2の下段には、MACフレームのフレーム構造700を図示する。
【0035】
MACフレームのフレーム構造700は、その先頭側から順に、格納部710,720,730,740,750,760を備える。格納部710,720,730,740は、MACフレームのヘッダを構成する。
【0036】
フレーム構造700の格納部710は、そのMACフレームの宛先を示すMACアドレスを格納するDMAC(Destination MAC)フィールドであり、フレーム構造700の格納部720は、そのMACフレームの発信元を示すMACアドレスを格納するSMAC(Source MAC)フィールドである。
【0037】
フレーム構造700の格納部730は、ユーザネットワーク61,62に設定されたVALNを識別するVALNタグを格納するVLANタグフィールドである。
【0038】
フレーム構造700の格納部740は、格納部750に格納されるパケットを規定する上位層プロトコルのタイプを示す識別子や、格納部750に格納されるデータのサイズを示すオクテット数を格納するタイプ/長さフィールドである。
【0039】
フレーム構造700の格納部750は、そのMACフレームで運ばれるデータを格納するユーザデータフィールドである。なお、マルチキャスト通信におけるIGMPjoinメッセージやマルチキャストパケットは、フレーム構造700の格納部750に格納されてデータ転送される。
【0040】
フレーム構造700の格納部760は、そのMACフレームのエラーを検出するためのCRC(Cyclic Redundancy Check)値を格納するFCS(Frame Check Sequence)フィールドである。
【0041】
MAC−in−MACフレームのフレーム構造800は、その先頭側から順に、格納部810,820,830,840,850,860を備える。格納部810,820,830,840は、MAC−in−MACフレームのヘッダを構成する。
【0042】
フレーム構造800の格納部810は、そのMAC−in−MACフレームのコアネットワーク12における宛先を示すMACアドレスを格納するC−DMAC(Core-Destination MAC)フィールドであり、フレーム構造800の格納部820は、そのMAC−in−MACフレームのコアネットワーク12における発信元を示すMACアドレスを格納するSMAC(Core-Source MAC)フィールドである。
【0043】
フレーム構造800の格納部830は、ユーザネットワーク61,62に設定されたVALNを識別するVALNタグを格納するVLANタグフィールドであり、格納部832,835を備える。格納部830における格納部832は、VALNタグの有効化または無効化を設定する識別子を格納するTPID(Tag Protocol Identifier)フィールドである。
【0044】
格納部830における格納部835は、ユーザネットワーク61,62に設定されたVLANを制御する制御データを格納するTCI(Tag Control Information)フィールドであり、格納部836,837,838を備える。格納部835における格納部836は、そのMAC−in−MACフレームを処理する優先度を示す情報を格納するCoS(Class of Service)フィールドである。格納部835における格納部837は、そのMAC−in−MACフレームにおけるMACアドレスのフォーマット形式を示す情報を格納するCFI(Canonical Format Indicator)フィールドである。格納部835における格納部838は、そのMAC−in−MACフレームを転送するVALNを特定する識別子を格納するVID(VLAN Identifier)フィールドである。
【0045】
フレーム構造800の格納部840は、格納部850に格納されるパケットを規定する上位層プロトコルのタイプを示す識別子や、格納部850に格納されるデータのサイズを示すオクテット数を格納するタイプ/長さフィールドである。
【0046】
フレーム構造800の格納部850は、そのMAC−in−MACフレームにカプセル化されたMACフレームを格納するユーザMACフレームフィールドである。格納部750に格納されるMACフレームには、そのフレーム構造700の格納部760を含めても良いし、含めなくても良い。
【0047】
フレーム構造800の格納部860は、そのMAC−in−MACフレームのエラーを検出するためのCRC値を格納するFCSフィールドである。
【0048】
図3は、キャリアネットワーク10におけるエッジスイッチ200の詳細構成を示す説明図である。エッジスイッチ200は、MACフレームとMAC−in−MACフレームとの間の変換を行ってユーザネットワーク61,62とコアスイッチ100との間を中継する接続装置である。エッジスイッチ200は、エッジ制御部210と、ネットワークインタフェース220と、バッファ230と、記憶部240と、管理インタフェース250とを備える。
【0049】
エッジスイッチ200のネットワークインタフェース220は、コアスイッチ100およびユーザネットワーク61,62と電気的に接続する物理的な接続端子である複数の入出力ポート222を備える。複数の入出力ポート222の各々は、MACフレームおよびMAC−in−MACフレームを含むレイヤ2フレームの入力を受け付けると共に、エッジ制御部210の指示に基づいてレイヤ2フレームを出力する。
【0050】
エッジスイッチ200のバッファ230は、エッジ制御部210によって処理されるレイヤ2フレームを一時的に記憶する記憶装置である。エッジスイッチ200の管理インタフェース250は、キャリアネットワーク10の管理者との間で情報のやり取りを行う。本実施例では、管理インタフェース250は、操作パネルやメモリカードスロット、各種接続入出力ポートなどの電子機器を含む。
【0051】
エッジスイッチ200の記憶部240は、エッジ制御部210によって処理される種々のデータを記憶し、そのデータの一つとして、転送先データベース242を記憶する。転送先データベース242は、ネットワークインタフェース220における複数の入出力ポート222の中から、レイヤ2フレームを出力する転送先ポートを選定する情報を登録したデータベースである。本実施例では、転送先データベース242は、入出力ポート222を通じて受信されたレイヤ2フレームに基づくエッジ制御部210の学習機能によって整備されるが、他の実施形態において、転送先データベース242の少なくとも一部は、管理インタフェース250を通じて入力された情報に基づいて整備されても良い。
【0052】
本実施例の説明では、エッジスイッチにおける転送先データベースを一般的に示す場合には、「242」の符号を用い、特定のエッジスイッチにおける転送先データベースを個別に示す場合には、そのエッジスイッチの符号に付された英文字を「242」の後に付した符号を用いるものとする。例えば、エッジスイッチ200aにおける転送先データベースには、「242a」の符号を用い、エッジスイッチ200cにおける転送先データベースには、「242c」の符号を用いる。
【0053】
図4は、エッジスイッチ200aにおける転送先データベース242aの一例を示す説明図である。図5は、エッジスイッチ200cにおける転送先データベース242cの一例を示す説明図である。エッジスイッチ200における転送先データベース242は、格納部2421,2422,2424,2426,2428,2429を備える。
【0054】
転送先データベース242の格納部2421は、転送先データベース242に登録された情報を識別する登録番号を格納するフィールドである。転送先データベース242の格納部2421は、ユーザネットワーク61,62に設定されたVLANを特定するVLAN識別子を格納するフィールドである。転送先データベース242の格納部2424は、MACフレームの宛先を示す宛先MACアドレスを格納するフィールドである。転送先データベース242の格納部2426は、複数の入出力ポート222の各々に割り当てられたポート番号のうち転送先ポートを示す出力ポート番号を格納するフィールドである。転送先データベース242の格納部2428は、MAC−in−MACフレームの宛先を示すコアネットワーク宛先MACアドレスを格納するフィールドである。転送先データベース242の格納部2429は、転送先データベース242に登録された情報を学習した情報源を示す情報を格納するフィールドである。
【0055】
例えば、図4に示す転送先データベース242aの場合、登録番号「1」の登録情報は、コアネットワークから学習した情報であることが示されている。その登録番号「1」の登録情報には、エッジスイッチ200aにおいて受信されたMACレームが、VLAN識別子「20」で識別されるVLANに所属し、その宛先MACアドレスが「00:00:4c:00:12:34」である場合、そのMACフレームをカプセル化するMAC−in−MACフレームの宛先MACアドレスを、「fe:00:00:20:00:03」に設定し、そのMAC−in−MACフレームをポート番号「1」が割り当てられた入出力ポート222から送信することが示されている。なお、図1において、エッジスイッチ200から他のノードへと延びる直線の横に付された丸付き数字は、入出力ポート222に割り当てられたポート番号に対応する。
【0056】
また、図5に示す転送先データベース242cの場合、登録番号「1」の登録情報は、ユーザネットワークから学習した情報であることが示されている。その登録番号「1」の登録情報には、エッジスイッチ200cにおいて受信されたMACレームが、VLAN識別子「20」で識別されるVLANに所属し、その宛先MACアドレスが「00:00:4c:00:12:34」である場合、そのMACフレームをポート番号「2」が割り当てられた入出力ポート222から送信することが示されている。
【0057】
図3の説明に戻り、エッジスイッチ200のエッジ制御部210は、エッジスイッチ200の各部に電気的に接続され、MACフレームおよびMAC−in−MACフレームを含むレイヤ2フレームを転送する種々の制御処理を実行する。エッジ制御部210は、参加メッセージ特定部211と、マルチキャストポート設定部212と、マーキング付加部213と、マルチキャストフレーム特定部216と、マルチキャストポート選定部217と、マルチキャストグループ付加部218とを備える。
【0058】
エッジ制御部210の参加メッセージ特定部211は、ユーザネットワーク61,62およびコアスイッチ100から転送されたMACフレームの中から、マルチキャストグループに参加するホストであるパーソナルコンピュータ610からルータ612に対する参加メッセージを特定する。本実施例では、参加メッセージ特定部211は、パーソナルコンピュータ610からルータ612に対するIGMPjoinメッセージを特定する。
【0059】
エッジ制御部210のマルチキャストポート設定部212は、参加メッセージ特定部211によって特定されたIGMPjoinメッセージのマルチキャストグループを、そのIGMPjoinメッセージが入力された入出力ポート222に関連付ける。本実施例では、マルチキャストポート設定部212は、マルチキャストグループを入出力ポート222に関連付けた情報を転送先データベース242に登録する。
【0060】
エッジ制御部210のマーキング付加部213は、参加メッセージ特定部211によって特定されたIGMPjoinメッセージをコアスイッチ100へ転送する場合、そのIGMPjoinメッセージをカプセル化したMAC−in−MACフレームのヘッダに、IGMPjoinメッセージがカプセル化されていることを示すマーキング情報を付加する。
【0061】
エッジ制御部210のマルチキャストフレーム特定部216は、ユーザネットワーク61,62およびコアスイッチ100から転送されたMACフレームの中からマルチキャストフレームを特定する。なお、マルチキャストフレームは、ルータ612から転送されるマルチキャストパケットを運ぶMACフレームである。
【0062】
エッジ制御部210のマルチキャストポート選定部217は、マルチキャストフレーム特定部216によって特定されたマルチキャストフレームが配信されるマルチキャストグループに対してマルチキャストポート設定部212によって関連付けられた入出力ポート222を、そのマルチキャストフレームを出力する転送先ポートとして選定する。本実施例では、マルチキャストポート選定部217は、転送先データベース242を参照して転送先ポートを選定する。
【0063】
エッジ制御部210のマルチキャストグループ付加部218は、マルチキャストフレーム特定部216によって特定されたマルチキャストフレームをコアスイッチ100へ転送する場合、そのマルチキャストフレームをカプセル化したMAC−in−MACフレームのヘッダに、そのマルチキャストグループを示すマルチキャストグループ情報を付加する。
【0064】
本実施例では、エッジ制御部210におけるマルチキャストポート設定部212、マーキング付加部213、マルチキャストフレーム特定部216、マルチキャストポート選定部217、マルチキャストグループ付加部218の各機能は、ASIC(Application Specific Integrated Circuit)がその物理的な回路構成に基づいて動作することによって実現されるが、他の実施形態において、これらの機能の少なくとも一部は、コンピュータプログラムに基づいてCPU(Central Processing Unit)が動作することによって実現されるとしても良い。
【0065】
図6は、キャリアネットワーク10におけるコアスイッチ100の詳細構成を示す説明図である。コアスイッチ100は、MACフレームをカプセル化したMAC−in−MACフレームを中継する接続装置である。コアスイッチ100は、コア制御部110と、ネットワークインタフェース120と、バッファ130と、記憶部140と、管理インタフェース150とを備える。
【0066】
コアスイッチ100のネットワークインタフェース120は、エッジスイッチ200および他のコアスイッチ100と電気的に接続する物理的な接続端子である複数の入出力ポート122を備える。複数の入出力ポート122の各々は、MAC−in−MACフレームの入力を受け付けると共に、コア制御部110の指示に基づいてMAC−in−MACフレームを出力する。
【0067】
コアスイッチ100のバッファ130は、コア制御部110によって処理されるMAC−in−MACフレームを一時的に記憶する記憶装置である。コアスイッチ100の管理インタフェース150は、キャリアネットワーク10の管理者との間で情報のやり取りを行う。本実施例では、管理インタフェース150は、操作パネルやメモリカードスロット、各種接続入出力ポートなどの電子機器を含む。
【0068】
コアスイッチ100の記憶部140は、コア制御部110によって処理される種々のデータを記憶し、そのデータの一つとして、転送先データベース142を記憶する。転送先データベース142は、ネットワークインタフェース120における複数の入出力ポート122の中から、MAC−in−MACフレームを出力する転送先ポートを選定する情報を登録したデータベースである。本実施例では、転送先データベース142は、入出力ポート122を通じて受信されたMAC−in−MACフレームに基づくコア制御部110の学習機能によって整備されるが、他の実施形態において、転送先データベース142の少なくとも一部は、管理インタフェース150を通じて入力された情報に基づいて整備されても良い。
【0069】
本実施例の説明では、コアスイッチにおける転送先データベースを一般的に示す場合には、「142」の符号を用い、特定のコアスイッチにおける転送先データベースを個別に示す場合には、そのコアスイッチの符号に付された英文字を「142」の後に付した符号を用いるものとする。例えば、コアスイッチ100eにおける転送先データベースには、「142e」の符号を用いる。
【0070】
図7は、コアスイッチ100eにおける転送先データベース142eの一例を示す説明図である。コアスイッチ100における転送先データベース142は、格納部1421,1422,1424,1426,1429を備える。
【0071】
転送先データベース142の格納部1421は、転送先データベース142に登録された情報を識別する登録番号を格納するフィールドである。転送先データベース142の格納部1421は、ユーザネットワーク61,62に設定されたVLANを特定するVLAN識別子を格納するフィールドである。転送先データベース142の格納部1424は、MAC−in−MACフレームの宛先を示すコアネットワーク宛先MACアドレスを格納するフィールドである。転送先データベース142の格納部1426は、複数の入出力ポート122の各々に割り当てられたポート番号のうち転送先ポートを示す出力ポート番号を格納するフィールドである。転送先データベース142の格納部1429は、転送先データベース142に登録された情報を学習した情報源を示す情報を格納するフィールドである。
【0072】
例えば、図7に示す転送先データベース142eの場合、登録番号「1」の登録情報は、ポート番号「1」が割り当てられた入出力ポート122から学習した情報であることが示されている。その登録番号「1」の登録情報には、コアスイッチ100eにおいて受信されたMAC−in−MACフレームが、VLAN識別子「20」で識別されるVLANに所属し、その宛先MACアドレスが「fe:00:00:20:00:01」である場合、そのMAC−in−MACフレームをポート番号「1」が割り当てられた入出力ポート122から送信することが示されている。
【0073】
図6の説明に戻り、コアスイッチ100のコア制御部110は、コアスイッチ100の各部に電気的に接続され、MAC−in−MACフレームを転送する種々の制御処理を実行する。コア制御部110は、マーキング特定部111と、マルチキャストポート設定部112と、マルチキャストグループ特定部116と、マルチキャストポート選定部117とを備える。
【0074】
コア制御部110のマーキング特定部111は、複数の入出力ポート122を通じて入力されたMAC−in−MACフレームの中から、マーキング情報がヘッダに付加されたMAC−in−MACフレームを特定する。本実施例では、前述した通り、MAC−in−MACフレームにおけるマーキング情報は、そのMAC−in−MACフレームにIGMPjoinメッセージがカプセル化されていることを示す情報であり、IGMPjoinメッセージがMAC−in−MACフレームにカプセル化される際に、エッジスイッチ200によって付加される情報である。
【0075】
コア制御部110のマルチキャストポート設定部112は、マーキング特定部111によって特定されたMAC−in−MACフレームにカプセル化されたIGMPjoinメッセージのマルチキャストグループを、そのMAC−in−MACフレームが入力された入出力ポート122に関連付ける。本実施例では、マルチキャストポート設定部112は、マルチキャストグループを入出力ポート122に関連付けた情報を転送先データベース142に登録する。
【0076】
コア制御部110のマルチキャストグループ特定部116は、複数の入出力ポート122を通じて入力されたMAC−in−MACフレームの中から、マルチキャストグループ情報がヘッダに付加されたMAC−in−MACフレームを特定する。本実施例では、前述した通り、MAC−in−MACフレームにおけるマルチキャストグループ情報は、そのMAC−in−MACフレームにカプセル化されているマルチキャストパケットが配信されるマルチキャストグループを示す情報であり、そのマルチキャストパケットがMAC−in−MACフレームにカプセル化される際に、エッジスイッチ200によって付加される情報である。
【0077】
コア制御部110のマルチキャストポート選定部117は、マルチキャストグループ特定部116によって特定されたMAC−in−MACフレームのマルチキャストグループ情報によって示されるマルチキャストグループに対してマルチキャストポート設定部112によって関連付けられた入出力ポート122を、そのMAC−in−MACフレームを出力する転送先ポートとして選定する。本実施例では、マルチキャストポート選定部117は、転送先データベース142を参照して転送先ポートを選定する。
【0078】
本実施例では、コア制御部110におけるマーキング特定部111、マルチキャストポート設定部112、マルチキャストグループ特定部116、マルチキャストポート選定部117の各機能は、ASIC(Application Specific Integrated Circuit)がその物理的な回路構成に基づいて動作することによって実現されるが、他の実施形態において、これらの機能の少なくとも一部は、コンピュータプログラムに基づいてCPU(Central Processing Unit)が動作することによって実現されるとしても良い。
【0079】
A2.コンピュータネットワークの動作:
A2−1.エッジ中継処理:
図8ないし図10は、キャリアネットワーク10におけるエッジスイッチ200のエッジ制御部210が実行するエッジ中継処理(ステップS200)を示すフローチャートである。エッジ中継処理(ステップS200)は、MACフレームとMAC−in−MACフレームとの間の変換を行ってユーザネットワーク61,62とコアスイッチ100との間を中継する処理である。本実施例では、MACフレームおよびMAC−in−MACフレームを含むレイヤ2フレームが入出力ポート222に入力された場合、エッジ制御部210は、エッジ中継処理(ステップS200)を開始する。
【0080】
図8に示すように、エッジ中継処理(ステップS200)が開始されると、エッジ制御部210は、フレーム受信処理(ステップS210)を実行する。入出力ポート222に入力されたレイヤ2フレームがMACフレームである場合には、フレーム受信処理(ステップS210)において、エッジ制御部210は、入出力ポート222から受け取ったMACフレームをそのまま受信する。他方、入出力ポート222に入力されたレイヤ2フレームがMAC−in−MACフレームである場合には、フレーム受信処理(ステップS210)において、エッジ制御部210は、入出力ポート222から受け取ったMAC−in−MACフレームをMACフレームへとデカプセル化した後、そのMACフレームを受信する。なお、本明細書において、MAC−in−MACフレームのデカプセル化とは、そのMAC−in−MACフレームのフレーム構造800における格納部850にカプセル化されているMACフレームにMAC−in−MACフレームを変換することを意味する。
【0081】
フレーム受信処理(ステップS210)の後、エッジ制御部210は、参加メッセージ特定部211によって実現される機能に基づいて参加メッセージ特定処理(ステップS220)を実行する。参加メッセージ特定処理(ステップS210)において、エッジ制御部210は、フレーム受信処理(ステップS210)において受信されたMACフレームの中から、マルチキャストグループに参加するパーソナルコンピュータ610からルータ612に対する参加メッセージを特定する。本実施例では、参加メッセージ特定処理(ステップS210)において、エッジ制御部210は、IGMPスヌーピングを実施することによって、パーソナルコンピュータ610からルータ612に対するIGMPjoinメッセージを参加メッセージとして特定する。
【0082】
図9の説明に移り、MACフレームがIGMPjoinメッセージである場合(ステップS225:「YES」)、エッジ制御部210は、マルチキャストポート設定部212によって実現される機能に基づいてマルチキャストポート設定処理(ステップS250)を実行する。マルチキャストポート設定処理(ステップS250)において、エッジ制御部210は、参加メッセージ特定処理(ステップS220)において特定されたIGMPjoinメッセージのマルチキャストグループを、そのIGMPjoinメッセージが入力された入出力ポート222に関連付ける。本実施例では、エッジ制御部210は、マルチキャストグループを入出力ポート222に関連付けた情報を転送先データベース242に登録する。
【0083】
ここで、拠点ネットワーク61cに所属するパーソナルコンピュータ610cから、拠点ネットワーク61aに所属するルータ612aに対するIGMPjoinメッセージが送信された場合に、エッジスイッチ200a,200cにおいて実行されるマルチキャストポート設定処理(ステップS250)の動作について説明する。この説明におけるIGMPjoinメッセージにおけるマルチキャストグループを示すマルチキャストMACアドレスは、「01:00:5e:00:12:34」である。
【0084】
エッジスイッチ200cは、ポート番号「2」が割り当てられた入出力ポート222を通じてパーソナルコンピュータ610cからのIGMPjoinメッセージを受信すると、マルチキャストポート設定処理(ステップS250)において、図5の転送先データベース242cに登録番号「500」で示される登録情報を登録する。図5の転送先データベース242cにおける登録番号「500」の登録情報は、スヌーピングで学習した情報であることが示され、エッジスイッチ200cにおいて受信されたMACフレームが、VLAN識別子「20」で識別されるVLANに所属し、その宛先MACアドレスが「01:00:5e:00:12:34」である場合、そのMACフレームをポート番号「2」が割り当てられた入出力ポート222から送信することが示されている。
【0085】
一方、エッジスイッチ200aは、パーソナルコンピュータ610cから送信されエッジスイッチ200cおよびコアネットワーク12を経由したIGMPjoinメッセージを、ポート番号「1」が割り当てられた入出力ポート222を通じて受信すると、マルチキャストポート設定処理(ステップS250)において、図4の転送先データベース242aに登録番号「500」で示される登録情報を登録する。図4の転送先データベース242aにおける登録番号「500」の登録情報は、スヌーピングで学習した情報であることが示され、エッジスイッチ200aにおいて受信されたMACフレームが、VLAN識別子「20」で識別されるVLANに所属し、その宛先MACアドレスが「01:00:5e:00:12:34」である場合、そのMACフレームをカプセル化するMAC−in−MACフレームの宛先MACアドレスを、「ff:00:00:20:12:34」に設定し、そのMAC−in−MACフレームをポート番号「1」が割り当てられた入出力ポート222から送信することが示されている。本実施例では、コアネットワーク宛先MACアドレス「ff:00:00:20:12:34」は、IGMPjoinメッセージにおけるマルチキャストグループを示すマルチキャストMACアドレス「01:00:5e:00:12:34」を変換して作成されたMACアドレスである。
【0086】
図9の説明に戻り、マルチキャストポート設定処理(ステップS250)の後、エッジ制御部210は、転送先データベース242に基づいて、複数の入出力ポート222の中からIGMPjoinメッセージを送信する転送先ポートを選定する(ステップS262)。
【0087】
転送先ポートを選定した後(ステップS262)、その転送先ポートに接続された転送先がコアネットワーク12である場合(ステップS263:「YES」)、エッジ制御部210は、マーキング付加部213によって実現される機能に基づいてマーキング付加処理(ステップS265)を実行する。マーキング付加処理(ステップS265)において、エッジ制御部210は、参加メッセージ特定処理(ステップS210)によって特定されたIGMPjoinメッセージをカプセル化したMAC−in−MACフレームのヘッダに、IGMPjoinメッセージがカプセル化されていることを示すマーキング情報を付加する。
【0088】
本実施例では、マーキング情報は、1ビット(bit)のデータであり、その値が「1」である場合、MAC−in−MACフレームにIGMPjoinメッセージがカプセル化されていることを示す。本実施例では、マーキング情報は、MAC−in−MACフレームのフレーム構造800における格納部836に格納されるが、他の実施形態において、格納部810,820,840の少なくとも一つに格納されても良い。なお、MACアドレスを格納する格納部810,820の少なくとも一方にマーキング情報を格納する場合、コアスイッチ100およびエッジスイッチ200の少なくとも一方は、MACアドレスとマーキング情報とを区別して認識する機能を備えても良い。これによって、マーキング情報を付加することによる転送先データベースにおける情報量の増加を回避することができる。
【0089】
マーキング付加処理(ステップS265)の後、エッジ制御部210は、マーキング情報を付加したMAC−in−MACフレームを、転送先ポートとして選定された入出力ポート222へ送出する(ステップS266)。
【0090】
転送先ポートを選定した後(ステップS262)、その転送先ポートに接続された転送先がコアネットワーク12でない場合(ステップS263:「NO」)、エッジ制御部210は、転送先ポートとして選定された入出力ポート222へ、IGMPjoinメッセージを運ぶMACフレームをそのまま送出する(ステップS268)。
【0091】
全ての転送先ポートに対する処理を終えた後(ステップS269:「YES」)、エッジ制御部210は、エッジ中継処理(ステップS200)を終了する。
【0092】
図8の説明に戻り、フレーム受信処理(ステップS210)において受信されたMACフレームがIGMPjoinメッセージでない場合(ステップS225:「NO」)、エッジ制御部210は、マルチキャストフレーム特定部216によって実現される機能に基づいてマルチキャストフレーム特定処理(ステップS230)を実行する。マルチキャストフレーム特定処理(ステップS230)において、エッジ制御部210は、フレーム受信処理(ステップS210)において受信されたMACフレームの中からマルチキャストフレームを特定する。本実施例では、マルチキャストフレーム特定処理(ステップS230)において、エッジ制御部210は、MACフレームにおける宛先MACアドレスがマルチキャストMACアドレスである場合に、そのMACフレームがマルチキャストフレームであると認識する。
【0093】
図10の説明に移り、MACフレームがマルチキャストフレームである場合(ステップS235:「YES」)、エッジ制御部210は、マルチキャストポート選定部217によって実現される機能に基づいてマルチキャストポート選定処理(ステップS282)を実行する。マルチキャストポート選定処理(ステップS282)において、エッジ制御部210は、転送先データベース242に基づいて、複数の入出力ポート222の中からマルチキャストフレームを送信する転送先ポートを選定する。
【0094】
ここで、インターネット90に接続されたサーバコンピュータ900から配信されたマルチキャストパケットが、マルチキャストグループ「01:00:5e:00:12:34」に対するマルチキャスト通信が設定されたルータ612aから転送された場合に、エッジスイッチ200a,200cにおいて実行されるマルチキャストポート選定処理(ステップS282)の動作について説明する。
【0095】
エッジスイッチ200aは、ポート番号「2」が割り当てられた入出力ポート222を通じて、ルータ612aからのマルチキャストパケットを運ぶマルチキャストフレームを受信すると、マルチキャストポート選定処理(ステップS282)において、図4に示した転送先データベース242aの登録情報の中から、そのマルチキャストフレームに示されたVALN識別子および宛先MACアドレス(マルチキャストグループ)に一致する登録情報を検索する。図4に示す例では、登録番号「500」の登録情報が該当し、その登録情報には、マルチキャストフレームをカプセル化するMAC−in−MACフレームの宛先MACアドレスを「ff:00:00:20:12:34」に設定すること、およびポート番号「1」が割り当てられた入出力ポート222を転送先ポートに選定することが示されている。
【0096】
一方、エッジスイッチ200cは、ポート番号「1」が割り当てられた入出力ポート222を通じて、エッジスイッチ200aからコアネットワーク12を経由したマルチキャストフレームを受信すると、マルチキャストポート選定処理(ステップS282)において、図5に示した転送先データベース242cの登録情報の中から、そのマルチキャストフレームに示されたVALN識別子および宛先MACアドレス(マルチキャストグループ)に一致する登録情報を検索する。図5に示す例では、登録番号「500」の登録情報が該当し、その登録情報には、ポート番号「2」が割り当てられた入出力ポート222を転送先ポートに選定することが示されている。
【0097】
図10の説明に戻り、マルチキャストポート選定処理(ステップS282)において転送先ポートを選定した後、その転送先ポートに接続された転送先がコアネットワーク12である場合(ステップS283:「YES」)、エッジ制御部210は、マルチキャストグループ付加部218によって実現される機能に基づいてマルチキャストグループ付加処理(ステップS285)を実行する。マルチキャストグループ付加処理(ステップS285)において、エッジ制御部210は、マルチキャストフレーム特定処理(ステップS230)において特定されたマルチキャストフレームをカプセル化したMAC−in−MACフレームのヘッダに、そのマルチキャストグループを示すマルチキャストグループ情報を付加する。本実施例では、マルチキャストグループ情報は、転送先データベース242においてマルチキャストグループに関連づけて登録されているコアネットワーク宛先MACアドレスであり、エッジ制御部210は、転送先データベース242に基づいてコアネットワーク宛先MACアドレスをMAC−in−MACフレームに設定することによって、MAC−in−MACフレームのヘッダにマルチキャストグループ情報を付加する。
【0098】
本実施例では、マルチキャストグループ情報は、マルチキャストグループを示すマルチキャストMACアドレスを変換して作成されたコアネットワーク宛先MACアドレスであり、エッジ制御部210は、MAC−in−MACフレームのフレーム構造800における格納部810にマルチキャストグループ情報を格納する。しかしながら、他の実施形態において、エッジ制御部210は、マルチキャストグループ情報を、マルチキャストMACアドレスをそのまま示す情報として、MAC−in−MACフレームのフレーム構造800における格納部810に格納しても良いし、マルチキャストMACアドレスをそのまま示す情報、またはマルチキャストMACアドレスを変形した情報として、MAC−in−MACフレームのフレーム構造800における格納部838に格納しても良い。
【0099】
マルチキャストグループ付加処理(ステップS285)の後、エッジ制御部210は、マルチキャストグループ情報を付加したMAC−in−MACフレームを、転送先ポートとして選定された入出力ポート222へ送出する(ステップS286)。
【0100】
マルチキャストポート選定処理(ステップS282)において転送先ポートを選定した後、その転送先ポートに接続された転送先がコアネットワーク12でない場合(ステップS283:「NO」)、エッジ制御部210は、転送先ポートとして選定された入出力ポート222へ、マルチキャストフレームを運ぶMACフレームをそのまま送出する(ステップS288)。
【0101】
全ての転送先ポートに対する処理を終えた後(ステップS289:「YES」)、エッジ制御部210は、エッジ中継処理(ステップS200)を終了する。
【0102】
図8の説明に戻り、フレーム受信処理(ステップS210)において受信されたMACフレームがIGMPjoinメッセージおよびマルチキャストフレームでない場合(ステップS235:「NO」)、エッジ制御部210は、フレーム受信処理(ステップS210)において受信されたMACフレームを転送先データベース242に基づいて入出力ポート222に送出する(ステップS242,S243,S245,S246,S248,S249)。その後、エッジ制御部210は、エッジ中継処理(ステップS200)を終了する。
【0103】
A2−2.コア中継処理:
図11ないし図13は、キャリアネットワーク10におけるコアスイッチ100のコア制御部110が実行するコア中継処理(ステップS100)を示すフローチャートである。コア中継処理(ステップS100)は、MACフレームをカプセル化したMAC−in−MACフレームを中継する処理である。本実施例では、レイヤ2フレームであるMAC−in−MACフレームが入出力ポート122に入力された場合、コア制御部110は、コア中継処理(ステップS100)を開始する。
【0104】
図11に示すように、コア中継処理(ステップS100)が開始されると、コア制御部110は、フレーム受信処理(ステップS110)を実行する。フレーム受信処理(ステップS110)において、コア制御部110は、入出力ポート122から受け取ったMAC−in−MACフレームを受信する。
【0105】
フレーム受信処理(ステップS110)の後、コア制御部110は、マーキング特定部111によって実現される機能に基づいてマーキング特定処理(ステップS120)を実行する。マーキング特定処理(ステップS120)において、コア制御部110は、フレーム受信処理(ステップS110)において受信されたMAC−in−MACフレームの中から、マーキング情報がヘッダに付加されたMAC−in−MACフレームを特定する。
【0106】
本実施例では、前述した通り、MAC−in−MACフレームにおけるマーキング情報は、そのMAC−in−MACフレームにIGMPjoinメッセージがカプセル化されていることを示す情報であり、IGMPjoinメッセージがMAC−in−MACフレームにカプセル化される際に、エッジスイッチ200によって付加される情報である。本実施例では、マーキング情報は、1ビットのデータであり、その値が「1」である場合、MAC−in−MACフレームにIGMPjoinメッセージがカプセル化されていることを示し、MAC−in−MACフレームのフレーム構造800における格納部836に格納されている情報である。
【0107】
図12の説明に移り、フレーム受信処理(ステップS110)において受信されたMAC−in−MACフレームに「1」の値を示すマーキング情報が付加されている場合(ステップS125:「YES」)、コア制御部110は、マルチキャストポート設定部112によって実現される機能に基づいてマルチキャストポート設定処理(ステップS150)を実行する。マルチキャストポート設定処理(ステップS150)において、コア制御部110は、マーキング情報が付加されたMAC−in−MACフレームにカプセル化されたIGMPjoinメッセージのマルチキャストグループを、そのMAC−in−MACフレームが入力された入出力ポート122に関連付ける。本実施例では、コア制御部110は、マルチキャストグループを入出力ポート122に関連付けた情報を転送先データベース142に登録する。
【0108】
ここで、拠点ネットワーク61bに所属するパーソナルコンピュータ610b、および拠点ネットワーク61cに所属するパーソナルコンピュータ610cの双方から、拠点ネットワーク61aに所属するルータ612aに対するIGMPjoinメッセージが送信された場合に、コアスイッチ100eにおいて実行されるマルチキャストポート設定処理(ステップS150)の動作について説明する。この説明におけるIGMPjoinメッセージにおけるマルチキャストグループを示すマルチキャストMACアドレスは、「01:00:5e:00:12:34」であり、コアネットワーク12においては、このマルチキャストMACアドレスを変換して作成されたコアネットワーク宛先MACアドレス「ff:00:00:20:12:34」がマルチキャストMACアドレスとして使用される。
【0109】
コアスイッチ100eは、ポート番号「2」が割り当てられた入出力ポート122を通じてパーソナルコンピュータ610bからのIGMPjoinメッセージをカプセル化したMAC−in−MACフレームを受信し、ポート番号「3」が割り当てられた入出力ポート122を通じてパーソナルコンピュータ610cからのIGMPjoinメッセージをカプセル化したMAC−in−MACフレームを受信すると、マルチキャストポート設定処理(ステップS150)において、図7の転送先データベース142eに登録番号「500」で示される登録情報を登録する。図7の転送先データベース142eにおける登録番号「500」の登録情報は、スヌーピングで学習した情報であることが示され、コアスイッチ100eにおいて受信されたMAC−in−MACフレームが、VLAN識別子「20」で識別されるVLANに所属し、その宛先MACアドレスが「ff:00:00:20:12:34」である場合、そのMAC−in−MACフレームをポート番号「2」およびポート番号「3」が割り当てられた入出力ポート122から送信することが示されている。
【0110】
図12の説明に戻り、マルチキャストポート設定処理(ステップS150)の後、コア制御部110は、IGMPjoinメッセージをカプセル化したMAC−in−MACフレームを転送先データベース142に基づいて入出力ポート122に送出する(ステップS162,S166,S169)。その後、コア制御部110は、コア中継処理(ステップS100)を終了する。
【0111】
図11の説明に戻り、フレーム受信処理(ステップS110)において受信されたMAC−in−MACフレームに「1」の値を示すマーキング情報が付加されていない場合(ステップS125:「NO」)、コア制御部110は、マルチキャストグループ特定部116によって実現される機能に基づいてマルチキャストグループ特定処理(ステップS130)を実行する。マルチキャストグループ特定処理(ステップS130)において、コア制御部110は、フレーム受信処理(ステップS110)において受信されたMAC−in−MACフレームの中から、マルチキャストグループ情報がヘッダに付加されたMAC−in−MACフレームを特定する。
【0112】
本実施例では、前述した通り、MAC−in−MACフレームにおけるマルチキャストグループ情報は、そのMAC−in−MACフレームにカプセル化されているマルチキャストパケットが配信されるマルチキャストグループを示す情報であり、そのマルチキャストパケットがMAC−in−MACフレームにカプセル化される際に、エッジスイッチ200によって付加される情報である。本実施例では、マルチキャストグループ情報は、マルチキャストグループを示すマルチキャストMACアドレスを変換して作成されたコアネットワーク宛先MACアドレスであり、MAC−in−MACフレームのフレーム構造800における格納部810に格納されている情報である。
【0113】
図13の説明に移り、フレーム受信処理(ステップS110)において受信されたMAC−in−MACフレームにマルチキャストグループ情報が付加されている場合(ステップS135:「YES」)、コア制御部110は、マルチキャストポート選定部117によって実現される機能に基づいてマルチキャストポート選定処理(ステップS182)を実行する。マルチキャストポート選定処理(ステップS182)において、コア制御部110は、転送先データベース142に基づいて、複数の入出力ポート122の中から、マルチキャストグループ情報が付加されているMAC−in−MACフレームを送信する転送先ポートを選定する。
【0114】
ここで、インターネット90に接続されたサーバコンピュータ900から配信されたマルチキャストパケットが、マルチキャストグループ「01:00:5e:00:12:34」に対するマルチキャスト通信が設定されたルータ612aから転送された場合に、コアスイッチ100eにおいて実行されるマルチキャストポート選定処理(ステップS182)の動作について説明する。
【0115】
コアスイッチ100eは、ポート番号「1」が割り当てられた入出力ポート122を通じて、ルータ612aからのマルチキャストパケットを運ぶMAC−in−MACフレームを受信すると、マルチキャストポート選定処理(ステップS182)において、図7に示した転送先データベース142eの登録情報の中から、そのMAC−in−MACフレームに示されたVALN識別子および宛先MACアドレス(マルチキャストグループ)に一致する登録情報を検索する。図7に示す例では、登録番号「500」の登録情報が該当し、その登録情報には、ポート番号「2」およびポート番号「3」が割り当てられた入出力ポート122を転送先ポートに選定することが示されている。
【0116】
図13の説明に戻り、マルチキャストポート選定処理(ステップS182)の後、コア制御部110は、フレーム受信処理(ステップS110)において受信されたMAC−in−MACフレームを、マルチキャストポート選定処理(ステップS182)において転送先ポートとして選定された入出力ポート122へ送出する(ステップS186,S189)。その後、コア制御部110は、コア中継処理(ステップS100)を終了する。
【0117】
図14は、キャリアネットワーク10においてマルチキャストパケットが転送される一例を示す説明図である。本実施例では、前述した通り、コアスイッチ100eは、ポート番号「1」が割り当てられた入出力ポート122を通じて、ルータ612aからのマルチキャストパケットを運ぶMAC−in−MACフレームを受信すると、そのMAC−in−MACフレームを、ポート番号「2」およびポート番号「3」が割り当てられた入出力ポート122に送出する(ステップS186)。その結果、図14に示すように、マルチキャストフレームがカプセル化されたMAC−in−MACフレームがキャリアネットワーク10にテンスされた場合であっても、コアスイッチ100eからコアスイッチ100dへのフラッディングが回避される。
【0118】
図11の説明に戻り、フレーム受信処理(ステップS110)において受信されたMAC−in−MACフレームにマーキング情報およびマルチキャストグループ情報が付加されていない場合(ステップS135:「NO」)、コア制御部110は、フレーム受信処理(ステップS110)において受信されたMAC−in−MACフレームを転送先データベース142に基づいて入出力ポート122に送出する(ステップS142,S146,S149)。その後、コア制御部110は、コア中継処理(ステップS100)を終了する。
【0119】
A3.効果:
以上説明したキャリアネットワーク10によれば、コアスイッチ100においてMAC−in−MACフレームのヘッダに付加されたマーキング情報をスヌーピングすることによって(ステップS120)、コアスイッチ100の入出力ポート122をマルチキャストグループに関連付けることができる(ステップS150)。これによって、マルチキャストフレームがカプセル化されたMAC−in−MACフレームからマルチキャストグループを特定し(ステップS130)、そのマルチキャストグループに関連付けられた入出力ポート122からMAC−in−MACフレームを出力することができる(ステップS182)。その結果、マルチキャストフレームがカプセル化されたMAC−in−MACフレームのフラッディングが回避され、マルチキャスト通信による通信速度の低下を抑制することができる。
【0120】
B.その他の実施形態:
以上、本発明の実施の形態について説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。
【符号の説明】
【0121】
1…コンピュータネットワーク
10…キャリアネットワーク
12…コアネットワーク
61,62…ユーザネットワーク
61a−61d,62a−62d…拠点ネットワーク
90…インターネット
100(100a−100e)…コアスイッチ
110…コア制御部
111…マーキング特定部
112…マルチキャストポート設定部
116…マルチキャストグループ特定部
117…マルチキャストポート選定部
120…ネットワークインタフェース
122…入出力ポート
130…バッファ
140…記憶部
142(142e)…転送先データベース
150…管理インタフェース
200(200a−200d)…エッジスイッチ
210…エッジ制御部
211…参加メッセージ特定部
212…マルチキャストポート設定部
213…マーキング付加部
216…マルチキャストフレーム特定部
217…マルチキャストポート選定部
218…マルチキャストグループ付加部
220…ネットワークインタフェース
222…入出力ポート
230…バッファ
240…記憶部
242(242a,242c)…転送先データベース
250…管理インタフェース
610(610b,610c)…パーソナルコンピュータ
612(612a)…ルータ
700…フレーム構造
710,720,730,740,750,760…格納部
800…フレーム構造
810,820,830,832,835,836,837,838,840,850,860…格納部
900…サーバコンピュータ
1421,1424,1426,1429…格納部
2421,2424,2426,2428,2429…格納部
【技術分野】
【0001】
本発明は、ユーザネットワークにおける複数の拠点間で転送されるレイヤ2フレームを中継するレイヤ2仮想プライベートネットワーク(Layer 2 Virtual Private Network、「L2VPN」とも呼ぶ)を構築するネットワークシステムに関する。
【背景技術】
【0002】
従来、標準規格IEEE802.1ah(Institute of Electrical and Electronic Engineers 802.1ah、プロバイダバックボーンブリッジ、Provider Backbone Bridge、PBB)に準拠してL2VPNを構築するネットワークシステムが提案されていた(特許文献1)。このようなネットワークシステムでは、基幹通信回線であるコアネットワーク(Core Network、バックボーンネットワーク(Backbone Network)とも呼ばれる)において、レイヤ2フレームであるMACフレーム(Media Access Control frame、マックフレーム)を更にMACフレームでカプセル化したMAC−in−MAC(マックインマック)フレームでデータ転送が実施される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−60831号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来、マルチキャストグループに参加するIGMP(Internet Group Management Protocol)joinメッセージを始めとする参加メッセージがL2VPNに転送された場合、コアネットワークにおけるレイヤ2スイッチであるコアスイッチは、MAC−in−MACフレームにカプセル化された参加メッセージをスヌーピング(Snooping)によって認識することができないという問題があった。そのため、参加メッセージに基づいて配信されたマルチキャストパケットがL2VPNに転送された場合、コアネットワークにおける全てのコアスイッチにマルチキャストパケットがフラッディング(Flooding)されてしまい、このフラッディングは、L2VPNにおける通信速度低下の要因となっていた。
【0005】
本発明は、上記した課題を踏まえ、MAC−in−MACフレームでデータ転送が実施されるネットワークにおいてマルチキャストパケットのフラッディングを回避することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【0007】
[適用例1] 適用例1のネットワークシステムは、ユーザネットワークにおける複数の拠点間で転送されるMACフレームを中継するレイヤ2仮想プライベートネットワークを構築するネットワークシステムであって、前記MACフレームをカプセル化したMAC−in−MACフレームを中継するコアスイッチと、前記MACフレームと前記MAC−in−MACフレームとの間の変換を行って前記ユーザネットワークと前記コアスイッチとの間を中継するエッジスイッチとを備え、前記エッジスイッチは、前記ユーザネットワークから転送されたMACフレームの中から、マルチキャストグループに参加するホストからルータに対する参加メッセージを特定する参加メッセージ特定部と、前記参加メッセージ特定部によって特定された参加メッセージをカプセル化したMAC−in−MACフレームのヘッダに、該参加メッセージを示すマーキング情報を付加するマーキング付加部とを含み、前記コアスイッチは、レイヤ2フレームを入出力する複数の入出力ポートと、前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、前記マーキング情報がヘッダに付加されたMAC−in−MACフレームを特定するマーキング特定部と、前記マーキング特定部によって特定されたMAC−in−MACフレームにカプセル化された参加メッセージのマルチキャストグループを、該MAC−in−MACフレームが入力された入出力ポートに関連付けるポート設定部とを含むことを特徴とする。
【0008】
適用例1のネットワークシステムによれば、コアスイッチにおいてMAC−in−MACフレームのヘッダに付加されたマーキング情報をスヌーピングすることによって、コアスイッチの入出力ポートをマルチキャストグループに関連付けることができる。これによって、マルチキャストフレームがカプセル化されたMAC−in−MACフレームからマルチキャストグループを特定し、そのマルチキャストグループに関連付けられた入出力ポートからMAC−in−MACフレームを出力することができる。その結果、マルチキャストフレームがカプセル化されたMAC−in−MACフレームのフラッディングが回避され、マルチキャスト通信による通信速度の低下を抑制することができる。
【0009】
[適用例2] 適用例1のネットワークシステムにおいて、前記エッジスイッチは、更に、前記ユーザネットワークから転送されたMACフレームの中から、前記ルータから転送されるマルチキャストフレームを特定するマルチキャストフレーム特定部と、前記マルチキャストフレーム特定部によって特定されたマルチキャストフレームをカプセル化したMAC−in−MACフレームのヘッダに、該マルチキャストフレームのマルチキャストグループを示すマルチキャストグループ情報を付加するマルチキャストグループ付加部とを含み、前記コアスイッチは、更に、前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、前記マルチキャストグループ情報がヘッダに付加されたMAC−in−MACフレームを特定するマルチキャストグループ特定部と、前記マルチキャストグループ特定部によって特定されたMAC−in−MACフレームのマルチキャストグループ情報によって示されるマルチキャストグループに対して前記ポート設定部によって関連付けられた入出力ポートを、該MAC−in−MACフレームを出力する転送先ポートとして選定するポート選定部とを含むことを特徴とする。適用例2のネットワークシステムによれば、コアスイッチにおいてMAC−in−MACフレームのヘッダに付加されたマルチキャストグループ情報をスヌーピングすることによって、マルチキャストフレームがカプセル化されたMAC−in−MACフレームの宛先であるマルチキャストグループを容易に特定することができる。
【0010】
[適用例3] 適用例1または適用例2のネットワークシステムにおいて、前記エッジスイッチの前記マーキング付加部は、前記参加メッセージをカプセル化したMAC−in−MACフレームのヘッダにおける
(a1)該MAC−in−MACフレームを処理する優先度を示す情報を格納する格納部、
(a2)該MAC−in−MACフレームの発信元を示す情報を格納する格納部、
(a3)該MAC−in−MACフレームの宛先を示す情報を格納する格納部、
(a4)該MAC−in−MACフレームによって運ばれるデータを規定するプロトコルおよび該データのサイズの少なくとも一方を示す情報を格納する格納部
の少なくとも一つに前記マーキング情報を付加するとしても良い。適用例3のネットワークシステムによれば、MAC−in−MACフレームのデータ転送に不都合を生じさせることなく、コアスイッチによってスヌーピング可能に、MAC−in−MACフレームのヘッダにマーキング情報を付加することができる。
【0011】
[適用例4] 適用例1ないし適用例3のいずれかのネットワークシステムにおいて、前記エッジスイッチの前記マルチキャストグループ付加部は、前記マルチキャストフレームをカプセル化したMAC−in−MACフレームのヘッダにおける
(b1)該MAC−in−MACフレームの宛先を示す情報を格納する格納部、
(b2)該MAC−in−MACフレームを転送するユーザネットワークを特定する情報を格納する格納部
の少なくとも一つに前記マルチキャストグループ情報を付加するとしても良い。適用例4のネットワークシステムによれば、MAC−in−MACフレームのデータ転送に不都合を生じさせることなく、コアスイッチによってスヌーピング可能に、MAC−in−MACフレームのヘッダにマルチキャストグループ情報を付加することができる。
【0012】
[適用例5] 適用例5のコアスイッチは、MACフレームをカプセル化したMAC−in−MACフレームを中継するコアスイッチであって、レイヤ2フレームを入出力する複数の入出力ポートと、前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、マルチキャストグループに参加するホストからルータに対する参加メッセージを示すマーキング情報がヘッダに付加されたMAC−in−MACフレームを特定するマーキング特定部と、前記マーキング特定部によって特定されたMAC−in−MACフレームにカプセル化された参加メッセージのマルチキャストグループを、該MAC−in−MACフレームが入力された入出力ポートに関連付けるポート設定部とを備えることを特徴とする。
【0013】
適用例5のコアスイッチによれば、MAC−in−MACフレームのヘッダに付加されたマーキング情報をスヌーピングすることによって、コアスイッチの入出力ポートをマルチキャストグループに関連付けることができる。これによって、マルチキャストフレームがカプセル化されたMAC−in−MACフレームからマルチキャストグループを特定し、そのマルチキャストグループに関連付けられた入出力ポートからMAC−in−MACフレームを出力することができる。その結果、マルチキャストフレームがカプセル化されたMAC−in−MACフレームのフラッディングが回避され、マルチキャスト通信による通信速度の低下を抑制することができる。
【0014】
[適用例6] 適用例5のコアスイッチは、更に、前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、マルチキャストグループを示すマルチキャストグループ情報がヘッダに付加されたMAC−in−MACフレームを特定するマルチキャストグループ特定部と、前記マルチキャストグループ特定部によって特定されたMAC−in−MACフレームのマルチキャストグループ情報によって示されるマルチキャストグループに対して前記ポート設定部によって関連付けられた入出力ポートを、該MAC−in−MACフレームを出力する転送先ポートとして選定するポート選定部とを備えても良い。適用例6のコアスイッチによれば、MAC−in−MACフレームのヘッダに付加されたマルチキャストグループ情報をスヌーピングすることによって、マルチキャストフレームがカプセル化されたMAC−in−MACフレームの宛先であるマルチキャストグループを容易に特定することができる。
【0015】
[適用例7] 適用例7のエッジスイッチは、MACフレームとMAC−in−MACフレームとの間の変換を行ってユーザネットワークとコアスイッチとの間を中継するエッジスイッチであって、前記ユーザネットワークから転送されたMACフレームの中から、マルチキャストグループに参加するホストからルータに対する参加メッセージを特定する参加メッセージ特定部と、前記参加メッセージ特定部によって特定された参加メッセージをカプセル化したMAC−in−MACフレームのヘッダに、該参加メッセージを示すマーキング情報を付加するマーキング付加部とを備えることを特徴とする。適用例7のエッジスイッチによれば、参加メッセージがカプセル化されていることをコアスイッチがスヌーピングによって認識することが可能なMAC−in−MACフレームを生成することができる。
【0016】
[適用例8] 適用例7のエッジスイッチは、更に、前記ユーザネットワークから転送されたMACフレームの中から、前記ルータから転送されるマルチキャストフレームを特定するマルチキャストフレーム特定部と、前記マルチキャストフレーム特定部によって特定されたマルチキャストフレームをカプセル化したMAC−in−MACフレームのヘッダに、該マルチキャストフレームのマルチキャストグループを示すマルチキャストグループ情報を付加するマルチキャストグループ付加部とを備えても良い。適用例8のエッジスイッチによれば、マルチキャストフレームがカプセル化されたMAC−in−MACフレームの宛先であるマルチキャストグループをコアスイッチがスヌーピングによって認識することが可能なMAC−in−MACフレームを生成することができる。
【0017】
[適用例9] 適用例9のデータ中継方法は、ユーザネットワークにおける複数の拠点間で転送されるMACフレームを中継するデータ中継方法であって、レイヤ2フレームを入出力する複数の入出力ポートを備えるコアスイッチが、前記MACフレームをカプセル化したMAC−in−MACフレームを中継するコア中継工程と、エッジスイッチが、前記MACフレームと前記MAC−in−MACフレームとの間の変換を行って前記ユーザネットワークと前記コアスイッチとの間を中継するエッジ中継工程とを備え、前記エッジ中継工程は、前記ユーザネットワークから転送されたMACフレームの中から、マルチキャストグループに参加するホストからルータに対する参加メッセージを特定する参加メッセージ特定工程と、前記参加メッセージ特定工程によって特定された参加メッセージをカプセル化したMAC−in−MACフレームのヘッダに、該参加メッセージを示すマーキング情報を付加するマーキング付加工程とを含み、前記コア中継工程は、前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、前記マーキング情報がヘッダに付加されたMAC−in−MACフレームを特定するマーキング特定工程と、前記マーキング特定工程によって特定されたMAC−in−MACフレームにカプセル化された参加メッセージのマルチキャストグループを、該MAC−in−MACフレームが入力された入出力ポートに関連付けるポート設定工程とを含むことを特徴とする。
【0018】
適用例9のデータ中継方法によれば、コアスイッチにおいてMAC−in−MACフレームのヘッダに付加されたマーキング情報をスヌーピングすることによって、コアスイッチの入出力ポートをマルチキャストグループに関連付けることができる。これによって、マルチキャストフレームがカプセル化されたMAC−in−MACフレームからマルチキャストグループを特定し、そのマルチキャストグループに関連付けられた入出力ポートからMAC−in−MACフレームを出力することができる。その結果、マルチキャストフレームがカプセル化されたMAC−in−MACフレームのフラッディングが回避され、マルチキャスト通信による通信速度の低下を抑制することができる。
【0019】
[適用例10] 適用例9のデータ中継方法において、前記エッジ中継工程は、更に、前記ユーザネットワークから転送されたMACフレームの中から、前記ルータから転送されるマルチキャストフレームを特定するマルチキャストフレーム特定工程と、前記マルチキャストフレーム特定工程によって特定されたマルチキャストフレームをカプセル化したMAC−in−MACフレームのヘッダに、該マルチキャストフレームのマルチキャストグループを示すマルチキャストグループ情報を付加するマルチキャストグループ付加工程とを含み、前記コア中継工程は、更に、前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、前記マルチキャストグループ情報がヘッダに付加されたMAC−in−MACフレームを特定するマルチキャストグループ特定工程と、前記マルチキャストグループ特定工程によって特定されたMAC−in−MACフレームのマルチキャストグループ情報によって示されるマルチキャストグループに対して前記ポート設定工程によって関連付けられた入出力ポートを、該MAC−in−MACフレームを出力する転送先ポートとして選定するポート選定工程とを含むとしても良い。適用例9のデータ中継方法によれば、コアスイッチにおいてMAC−in−MACフレームのヘッダに付加されたマルチキャストグループ情報をスヌーピングすることによって、マルチキャストフレームがカプセル化されたMAC−in−MACフレームの宛先であるマルチキャストグループを容易に特定することができる。
【0020】
本発明の形態は、ネットワークシステム、コアスイッチ、エッジスイッチ、データ中継方法に限るものではなく、例えば、コアスイッチの機能をコンピュータに実現させるためのプログラム、エッジスイッチの機能をコンピュータに実現させるためのプログラム、コアスイッチにおいてデータを中継する方法、エッジスイッチにおいてデータを中継する方法などの他の形態に適用することもできる。また、本発明は、前述の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。
【図面の簡単な説明】
【0021】
【図1】コンピュータネットワークの構成を示す説明図である。
【図2】MACフレームのフレーム構造およびMAC−in−MACフレームのフレーム構造を模式的に示す説明図である。
【図3】キャリアネットワークにおけるエッジスイッチの詳細構成を示す説明図である。
【図4】エッジスイッチにおける転送先データベースの一例を示す説明図である。
【図5】エッジスイッチにおける転送先データベースの一例を示す説明図である。
【図6】キャリアネットワークにおけるコアスイッチの詳細構成を示す説明図である。
【図7】コアスイッチにおける転送先データベースの一例を示す説明図である。
【図8】キャリアネットワークにおけるエッジスイッチのエッジ制御部が実行するエッジ中継処理を示すフローチャートである。
【図9】キャリアネットワークにおけるエッジスイッチのエッジ制御部が実行するエッジ中継処理を示すフローチャートである。
【図10】キャリアネットワークにおけるエッジスイッチのエッジ制御部が実行するエッジ中継処理を示すフローチャートである。
【図11】キャリアネットワークにおけるコアスイッチのコア制御部が実行するコア中継処理を示すフローチャートである。
【図12】キャリアネットワークにおけるコアスイッチのコア制御部が実行するコア中継処理を示すフローチャートである。
【図13】キャリアネットワークにおけるコアスイッチのコア制御部が実行するコア中継処理を示すフローチャートである。
【図14】キャリアネットワークにおいてマルチキャストパケットが転送される様子を示す説明図である。
【発明を実施するための形態】
【0022】
以上説明した本発明の構成および作用を一層明らかにするために、以下本発明を適用したコンピュータネットワークについて説明する。
【0023】
A.実施例:
A1.コンピュータネットワークの構成:
図1は、コンピュータネットワーク1の構成を示す説明図である。コンピュータネットワーク1は、キャリアネットワーク10と、ユーザネットワーク61,62とを備えるネットワークシステムである。
【0024】
コンピュータネットワーク1のユーザネットワーク61,62は、キャリアネットワーク10の通信サービスを受ける企業や公共団体、個人などの顧客によって運営されるネットワークシステムである。ユーザネットワーク61は、複数の拠点ネットワーク61a,61b,61c,61dを備え、これら複数の拠点ネットワーク61a,61b,61c,61dの各々は、キャリアネットワーク10を通じて相互に接続され、ローカルエリアネットワーク(Local Area Network、以下「LAN」と呼ぶ)を協働して構成する。ユーザネットワーク62は、ユーザネットワーク61と同様に、複数の拠点ネットワーク62a,62b,62c,62dを備え、これら複数の拠点ネットワーク62a,62b,62c,62dの各々は、キャリアネットワーク10を通じて相互に接続され、LANを協働して構成する。
【0025】
ユーザネットワーク61,62は、単一のLANを構成しても良いし、更に、そのLANにおいて物理的な接続構成とは独立した仮想的なネットワークグループを設定した仮想ネットワークであるバーチャルLAN(Virtual LAN、以下「VLAN」と呼ぶ)を構成しても良い。なお、図1には、二つのユーザネットワークが図示され、それぞれに四つの拠点ネットワークが図示されているが、ユーザネットワークおよびその拠点ネットワークの数量は、図1に図示した数量に限られるものではなく、適宜、増減することが可能である。
【0026】
ユーザネットワーク61は、複数の拠点ネットワーク61a,61b,61c,61dの少なくとも一つに、種々の演算処理を実行するパーソナルコンピュータ610と、ユーザネットワーク61を他のネットワークに相互に接続するルータ612とを備える。
【0027】
本実施例の説明では、ユーザネットワーク61に所属するパーソナルコンピュータを一般的に示す場合には、「610」の符号を用い、特定の拠点ネットワークに所属するパーソナルコンピュータを示す場合には、その拠点ネットワークの符号に付された英文字を「610」の後に付した符号を用いるものとする。例えば、拠点ネットワーク62bに所属するパーソナルコンピュータには、「610b」の符号を用い、拠点ネットワーク62cに所属するパーソナルコンピュータには、「610c」の符号を用いる。
【0028】
本実施例の説明では、ユーザネットワーク61に所属するルータを一般的に示す場合には、「710」の符号を用い、特定の拠点ネットワークに所属するルータを示す場合には、その拠点ネットワークの符号に付された英文字を「710」の後に付した符合を用いるものとする。例えば、拠点ネットワーク62aに所属するルータには、「710a」の符号を用いる。
【0029】
本実施例では、拠点ネットワーク61aは、インターネット90とユーザネットワーク61との間を相互に接続するルータ612aを備える。本実施例では、インターネット90には、マルチキャストパケットを送信するサーバコンピュータ900が接続され、拠点ネットワーク62bのパーソナルコンピュータ610b、および拠点ネットワーク62cのパーソナルコンピュータ610cの各々は、拠点ネットワーク61aのルータ612aを通じて、サーバコンピュータ900からマルチキャストパケットを受信することが可能である。
【0030】
コンピュータネットワーク1のキャリアネットワーク10は、電気通信事業者によって運営され、ユーザネットワーク61,62における複数の拠点ネットワーク間で転送されるMACフレームを中継するレイヤ2仮想プライベートネットワーク(L2VPN)を構築するネットワークシステムである。キャリアネットワーク10は、標準規格IEEE802.1ahに準拠してMAC−in−MACフレームでデータ転送を実施する基幹通信回線であるコアネットワーク12を構築するコアスイッチ100と、ユーザネットワーク61,62とコアネットワーク12との間を相互に接続するエッジスイッチ200とを備える。コアスイッチ100およびエッジスイッチ200の構成および動作の詳細については後述する。
【0031】
本実施例の説明では、キャリアネットワーク10に所属するコアスイッチを一般的に示す場合には、「100」の符号を用い、特定のコアスイッチを個別に示す場合には、「100」の後に英文字を個別に付した符号を用いるものとする。例えば、図1に示す例では、五つのコアスイッチ100が図示され、これらのコアスイッチ100を個別に示す場合には、「100a」、「100b」、「100c」、「100d」、「100e」の符号を用いる。
【0032】
本実施例の説明では、キャリアネットワーク10に所属するエッジスイッチを一般的に示す場合には、「200」の符号を用い、特定のエッジスイッチを個別に示す場合には、「200」の後に英文字を個別に付した符号を用いるものとする。例えば、図1に示す例では、四つのエッジスイッチ200が図示され、これらのエッジスイッチ200を個別に示す場合には、「200a」、「200b」、「200c」、「200d」の符号を用いる。
【0033】
図1に示す例では、コアスイッチ100eは、コアスイッチ100a,100b,100c,100dの各々を相互に接続する。図1に示す例では、エッジスイッチ200aは、コアスイッチ100aと拠点ネットワーク61a,62aとの間を相互に接続し、エッジスイッチ200bは、コアスイッチ100bと拠点ネットワーク61b,62bとの間を相互に接続し、エッジスイッチ200cは、コアスイッチ100cと拠点ネットワーク61c,62cとの間を相互に接続し、エッジスイッチ200dは、コアスイッチ100dと拠点ネットワーク61d,62dとの間を相互に接続する。なお、図1には、五つのコアスイッチ100が図示され、四つのエッジスイッチ200が図示されているが、コアスイッチ100およびエッジスイッチ200の数量は、図1に図示した数量に限られるものではなく、適宜、増減することが可能である。
【0034】
図2は、MACフレームのフレーム構造700およびMAC−in−MACフレームのフレーム構造800を模式的に示す説明図である。図2の上段には、MAC−in−MACフレームのフレーム構造800を図示し、図2の下段には、MACフレームのフレーム構造700を図示する。
【0035】
MACフレームのフレーム構造700は、その先頭側から順に、格納部710,720,730,740,750,760を備える。格納部710,720,730,740は、MACフレームのヘッダを構成する。
【0036】
フレーム構造700の格納部710は、そのMACフレームの宛先を示すMACアドレスを格納するDMAC(Destination MAC)フィールドであり、フレーム構造700の格納部720は、そのMACフレームの発信元を示すMACアドレスを格納するSMAC(Source MAC)フィールドである。
【0037】
フレーム構造700の格納部730は、ユーザネットワーク61,62に設定されたVALNを識別するVALNタグを格納するVLANタグフィールドである。
【0038】
フレーム構造700の格納部740は、格納部750に格納されるパケットを規定する上位層プロトコルのタイプを示す識別子や、格納部750に格納されるデータのサイズを示すオクテット数を格納するタイプ/長さフィールドである。
【0039】
フレーム構造700の格納部750は、そのMACフレームで運ばれるデータを格納するユーザデータフィールドである。なお、マルチキャスト通信におけるIGMPjoinメッセージやマルチキャストパケットは、フレーム構造700の格納部750に格納されてデータ転送される。
【0040】
フレーム構造700の格納部760は、そのMACフレームのエラーを検出するためのCRC(Cyclic Redundancy Check)値を格納するFCS(Frame Check Sequence)フィールドである。
【0041】
MAC−in−MACフレームのフレーム構造800は、その先頭側から順に、格納部810,820,830,840,850,860を備える。格納部810,820,830,840は、MAC−in−MACフレームのヘッダを構成する。
【0042】
フレーム構造800の格納部810は、そのMAC−in−MACフレームのコアネットワーク12における宛先を示すMACアドレスを格納するC−DMAC(Core-Destination MAC)フィールドであり、フレーム構造800の格納部820は、そのMAC−in−MACフレームのコアネットワーク12における発信元を示すMACアドレスを格納するSMAC(Core-Source MAC)フィールドである。
【0043】
フレーム構造800の格納部830は、ユーザネットワーク61,62に設定されたVALNを識別するVALNタグを格納するVLANタグフィールドであり、格納部832,835を備える。格納部830における格納部832は、VALNタグの有効化または無効化を設定する識別子を格納するTPID(Tag Protocol Identifier)フィールドである。
【0044】
格納部830における格納部835は、ユーザネットワーク61,62に設定されたVLANを制御する制御データを格納するTCI(Tag Control Information)フィールドであり、格納部836,837,838を備える。格納部835における格納部836は、そのMAC−in−MACフレームを処理する優先度を示す情報を格納するCoS(Class of Service)フィールドである。格納部835における格納部837は、そのMAC−in−MACフレームにおけるMACアドレスのフォーマット形式を示す情報を格納するCFI(Canonical Format Indicator)フィールドである。格納部835における格納部838は、そのMAC−in−MACフレームを転送するVALNを特定する識別子を格納するVID(VLAN Identifier)フィールドである。
【0045】
フレーム構造800の格納部840は、格納部850に格納されるパケットを規定する上位層プロトコルのタイプを示す識別子や、格納部850に格納されるデータのサイズを示すオクテット数を格納するタイプ/長さフィールドである。
【0046】
フレーム構造800の格納部850は、そのMAC−in−MACフレームにカプセル化されたMACフレームを格納するユーザMACフレームフィールドである。格納部750に格納されるMACフレームには、そのフレーム構造700の格納部760を含めても良いし、含めなくても良い。
【0047】
フレーム構造800の格納部860は、そのMAC−in−MACフレームのエラーを検出するためのCRC値を格納するFCSフィールドである。
【0048】
図3は、キャリアネットワーク10におけるエッジスイッチ200の詳細構成を示す説明図である。エッジスイッチ200は、MACフレームとMAC−in−MACフレームとの間の変換を行ってユーザネットワーク61,62とコアスイッチ100との間を中継する接続装置である。エッジスイッチ200は、エッジ制御部210と、ネットワークインタフェース220と、バッファ230と、記憶部240と、管理インタフェース250とを備える。
【0049】
エッジスイッチ200のネットワークインタフェース220は、コアスイッチ100およびユーザネットワーク61,62と電気的に接続する物理的な接続端子である複数の入出力ポート222を備える。複数の入出力ポート222の各々は、MACフレームおよびMAC−in−MACフレームを含むレイヤ2フレームの入力を受け付けると共に、エッジ制御部210の指示に基づいてレイヤ2フレームを出力する。
【0050】
エッジスイッチ200のバッファ230は、エッジ制御部210によって処理されるレイヤ2フレームを一時的に記憶する記憶装置である。エッジスイッチ200の管理インタフェース250は、キャリアネットワーク10の管理者との間で情報のやり取りを行う。本実施例では、管理インタフェース250は、操作パネルやメモリカードスロット、各種接続入出力ポートなどの電子機器を含む。
【0051】
エッジスイッチ200の記憶部240は、エッジ制御部210によって処理される種々のデータを記憶し、そのデータの一つとして、転送先データベース242を記憶する。転送先データベース242は、ネットワークインタフェース220における複数の入出力ポート222の中から、レイヤ2フレームを出力する転送先ポートを選定する情報を登録したデータベースである。本実施例では、転送先データベース242は、入出力ポート222を通じて受信されたレイヤ2フレームに基づくエッジ制御部210の学習機能によって整備されるが、他の実施形態において、転送先データベース242の少なくとも一部は、管理インタフェース250を通じて入力された情報に基づいて整備されても良い。
【0052】
本実施例の説明では、エッジスイッチにおける転送先データベースを一般的に示す場合には、「242」の符号を用い、特定のエッジスイッチにおける転送先データベースを個別に示す場合には、そのエッジスイッチの符号に付された英文字を「242」の後に付した符号を用いるものとする。例えば、エッジスイッチ200aにおける転送先データベースには、「242a」の符号を用い、エッジスイッチ200cにおける転送先データベースには、「242c」の符号を用いる。
【0053】
図4は、エッジスイッチ200aにおける転送先データベース242aの一例を示す説明図である。図5は、エッジスイッチ200cにおける転送先データベース242cの一例を示す説明図である。エッジスイッチ200における転送先データベース242は、格納部2421,2422,2424,2426,2428,2429を備える。
【0054】
転送先データベース242の格納部2421は、転送先データベース242に登録された情報を識別する登録番号を格納するフィールドである。転送先データベース242の格納部2421は、ユーザネットワーク61,62に設定されたVLANを特定するVLAN識別子を格納するフィールドである。転送先データベース242の格納部2424は、MACフレームの宛先を示す宛先MACアドレスを格納するフィールドである。転送先データベース242の格納部2426は、複数の入出力ポート222の各々に割り当てられたポート番号のうち転送先ポートを示す出力ポート番号を格納するフィールドである。転送先データベース242の格納部2428は、MAC−in−MACフレームの宛先を示すコアネットワーク宛先MACアドレスを格納するフィールドである。転送先データベース242の格納部2429は、転送先データベース242に登録された情報を学習した情報源を示す情報を格納するフィールドである。
【0055】
例えば、図4に示す転送先データベース242aの場合、登録番号「1」の登録情報は、コアネットワークから学習した情報であることが示されている。その登録番号「1」の登録情報には、エッジスイッチ200aにおいて受信されたMACレームが、VLAN識別子「20」で識別されるVLANに所属し、その宛先MACアドレスが「00:00:4c:00:12:34」である場合、そのMACフレームをカプセル化するMAC−in−MACフレームの宛先MACアドレスを、「fe:00:00:20:00:03」に設定し、そのMAC−in−MACフレームをポート番号「1」が割り当てられた入出力ポート222から送信することが示されている。なお、図1において、エッジスイッチ200から他のノードへと延びる直線の横に付された丸付き数字は、入出力ポート222に割り当てられたポート番号に対応する。
【0056】
また、図5に示す転送先データベース242cの場合、登録番号「1」の登録情報は、ユーザネットワークから学習した情報であることが示されている。その登録番号「1」の登録情報には、エッジスイッチ200cにおいて受信されたMACレームが、VLAN識別子「20」で識別されるVLANに所属し、その宛先MACアドレスが「00:00:4c:00:12:34」である場合、そのMACフレームをポート番号「2」が割り当てられた入出力ポート222から送信することが示されている。
【0057】
図3の説明に戻り、エッジスイッチ200のエッジ制御部210は、エッジスイッチ200の各部に電気的に接続され、MACフレームおよびMAC−in−MACフレームを含むレイヤ2フレームを転送する種々の制御処理を実行する。エッジ制御部210は、参加メッセージ特定部211と、マルチキャストポート設定部212と、マーキング付加部213と、マルチキャストフレーム特定部216と、マルチキャストポート選定部217と、マルチキャストグループ付加部218とを備える。
【0058】
エッジ制御部210の参加メッセージ特定部211は、ユーザネットワーク61,62およびコアスイッチ100から転送されたMACフレームの中から、マルチキャストグループに参加するホストであるパーソナルコンピュータ610からルータ612に対する参加メッセージを特定する。本実施例では、参加メッセージ特定部211は、パーソナルコンピュータ610からルータ612に対するIGMPjoinメッセージを特定する。
【0059】
エッジ制御部210のマルチキャストポート設定部212は、参加メッセージ特定部211によって特定されたIGMPjoinメッセージのマルチキャストグループを、そのIGMPjoinメッセージが入力された入出力ポート222に関連付ける。本実施例では、マルチキャストポート設定部212は、マルチキャストグループを入出力ポート222に関連付けた情報を転送先データベース242に登録する。
【0060】
エッジ制御部210のマーキング付加部213は、参加メッセージ特定部211によって特定されたIGMPjoinメッセージをコアスイッチ100へ転送する場合、そのIGMPjoinメッセージをカプセル化したMAC−in−MACフレームのヘッダに、IGMPjoinメッセージがカプセル化されていることを示すマーキング情報を付加する。
【0061】
エッジ制御部210のマルチキャストフレーム特定部216は、ユーザネットワーク61,62およびコアスイッチ100から転送されたMACフレームの中からマルチキャストフレームを特定する。なお、マルチキャストフレームは、ルータ612から転送されるマルチキャストパケットを運ぶMACフレームである。
【0062】
エッジ制御部210のマルチキャストポート選定部217は、マルチキャストフレーム特定部216によって特定されたマルチキャストフレームが配信されるマルチキャストグループに対してマルチキャストポート設定部212によって関連付けられた入出力ポート222を、そのマルチキャストフレームを出力する転送先ポートとして選定する。本実施例では、マルチキャストポート選定部217は、転送先データベース242を参照して転送先ポートを選定する。
【0063】
エッジ制御部210のマルチキャストグループ付加部218は、マルチキャストフレーム特定部216によって特定されたマルチキャストフレームをコアスイッチ100へ転送する場合、そのマルチキャストフレームをカプセル化したMAC−in−MACフレームのヘッダに、そのマルチキャストグループを示すマルチキャストグループ情報を付加する。
【0064】
本実施例では、エッジ制御部210におけるマルチキャストポート設定部212、マーキング付加部213、マルチキャストフレーム特定部216、マルチキャストポート選定部217、マルチキャストグループ付加部218の各機能は、ASIC(Application Specific Integrated Circuit)がその物理的な回路構成に基づいて動作することによって実現されるが、他の実施形態において、これらの機能の少なくとも一部は、コンピュータプログラムに基づいてCPU(Central Processing Unit)が動作することによって実現されるとしても良い。
【0065】
図6は、キャリアネットワーク10におけるコアスイッチ100の詳細構成を示す説明図である。コアスイッチ100は、MACフレームをカプセル化したMAC−in−MACフレームを中継する接続装置である。コアスイッチ100は、コア制御部110と、ネットワークインタフェース120と、バッファ130と、記憶部140と、管理インタフェース150とを備える。
【0066】
コアスイッチ100のネットワークインタフェース120は、エッジスイッチ200および他のコアスイッチ100と電気的に接続する物理的な接続端子である複数の入出力ポート122を備える。複数の入出力ポート122の各々は、MAC−in−MACフレームの入力を受け付けると共に、コア制御部110の指示に基づいてMAC−in−MACフレームを出力する。
【0067】
コアスイッチ100のバッファ130は、コア制御部110によって処理されるMAC−in−MACフレームを一時的に記憶する記憶装置である。コアスイッチ100の管理インタフェース150は、キャリアネットワーク10の管理者との間で情報のやり取りを行う。本実施例では、管理インタフェース150は、操作パネルやメモリカードスロット、各種接続入出力ポートなどの電子機器を含む。
【0068】
コアスイッチ100の記憶部140は、コア制御部110によって処理される種々のデータを記憶し、そのデータの一つとして、転送先データベース142を記憶する。転送先データベース142は、ネットワークインタフェース120における複数の入出力ポート122の中から、MAC−in−MACフレームを出力する転送先ポートを選定する情報を登録したデータベースである。本実施例では、転送先データベース142は、入出力ポート122を通じて受信されたMAC−in−MACフレームに基づくコア制御部110の学習機能によって整備されるが、他の実施形態において、転送先データベース142の少なくとも一部は、管理インタフェース150を通じて入力された情報に基づいて整備されても良い。
【0069】
本実施例の説明では、コアスイッチにおける転送先データベースを一般的に示す場合には、「142」の符号を用い、特定のコアスイッチにおける転送先データベースを個別に示す場合には、そのコアスイッチの符号に付された英文字を「142」の後に付した符号を用いるものとする。例えば、コアスイッチ100eにおける転送先データベースには、「142e」の符号を用いる。
【0070】
図7は、コアスイッチ100eにおける転送先データベース142eの一例を示す説明図である。コアスイッチ100における転送先データベース142は、格納部1421,1422,1424,1426,1429を備える。
【0071】
転送先データベース142の格納部1421は、転送先データベース142に登録された情報を識別する登録番号を格納するフィールドである。転送先データベース142の格納部1421は、ユーザネットワーク61,62に設定されたVLANを特定するVLAN識別子を格納するフィールドである。転送先データベース142の格納部1424は、MAC−in−MACフレームの宛先を示すコアネットワーク宛先MACアドレスを格納するフィールドである。転送先データベース142の格納部1426は、複数の入出力ポート122の各々に割り当てられたポート番号のうち転送先ポートを示す出力ポート番号を格納するフィールドである。転送先データベース142の格納部1429は、転送先データベース142に登録された情報を学習した情報源を示す情報を格納するフィールドである。
【0072】
例えば、図7に示す転送先データベース142eの場合、登録番号「1」の登録情報は、ポート番号「1」が割り当てられた入出力ポート122から学習した情報であることが示されている。その登録番号「1」の登録情報には、コアスイッチ100eにおいて受信されたMAC−in−MACフレームが、VLAN識別子「20」で識別されるVLANに所属し、その宛先MACアドレスが「fe:00:00:20:00:01」である場合、そのMAC−in−MACフレームをポート番号「1」が割り当てられた入出力ポート122から送信することが示されている。
【0073】
図6の説明に戻り、コアスイッチ100のコア制御部110は、コアスイッチ100の各部に電気的に接続され、MAC−in−MACフレームを転送する種々の制御処理を実行する。コア制御部110は、マーキング特定部111と、マルチキャストポート設定部112と、マルチキャストグループ特定部116と、マルチキャストポート選定部117とを備える。
【0074】
コア制御部110のマーキング特定部111は、複数の入出力ポート122を通じて入力されたMAC−in−MACフレームの中から、マーキング情報がヘッダに付加されたMAC−in−MACフレームを特定する。本実施例では、前述した通り、MAC−in−MACフレームにおけるマーキング情報は、そのMAC−in−MACフレームにIGMPjoinメッセージがカプセル化されていることを示す情報であり、IGMPjoinメッセージがMAC−in−MACフレームにカプセル化される際に、エッジスイッチ200によって付加される情報である。
【0075】
コア制御部110のマルチキャストポート設定部112は、マーキング特定部111によって特定されたMAC−in−MACフレームにカプセル化されたIGMPjoinメッセージのマルチキャストグループを、そのMAC−in−MACフレームが入力された入出力ポート122に関連付ける。本実施例では、マルチキャストポート設定部112は、マルチキャストグループを入出力ポート122に関連付けた情報を転送先データベース142に登録する。
【0076】
コア制御部110のマルチキャストグループ特定部116は、複数の入出力ポート122を通じて入力されたMAC−in−MACフレームの中から、マルチキャストグループ情報がヘッダに付加されたMAC−in−MACフレームを特定する。本実施例では、前述した通り、MAC−in−MACフレームにおけるマルチキャストグループ情報は、そのMAC−in−MACフレームにカプセル化されているマルチキャストパケットが配信されるマルチキャストグループを示す情報であり、そのマルチキャストパケットがMAC−in−MACフレームにカプセル化される際に、エッジスイッチ200によって付加される情報である。
【0077】
コア制御部110のマルチキャストポート選定部117は、マルチキャストグループ特定部116によって特定されたMAC−in−MACフレームのマルチキャストグループ情報によって示されるマルチキャストグループに対してマルチキャストポート設定部112によって関連付けられた入出力ポート122を、そのMAC−in−MACフレームを出力する転送先ポートとして選定する。本実施例では、マルチキャストポート選定部117は、転送先データベース142を参照して転送先ポートを選定する。
【0078】
本実施例では、コア制御部110におけるマーキング特定部111、マルチキャストポート設定部112、マルチキャストグループ特定部116、マルチキャストポート選定部117の各機能は、ASIC(Application Specific Integrated Circuit)がその物理的な回路構成に基づいて動作することによって実現されるが、他の実施形態において、これらの機能の少なくとも一部は、コンピュータプログラムに基づいてCPU(Central Processing Unit)が動作することによって実現されるとしても良い。
【0079】
A2.コンピュータネットワークの動作:
A2−1.エッジ中継処理:
図8ないし図10は、キャリアネットワーク10におけるエッジスイッチ200のエッジ制御部210が実行するエッジ中継処理(ステップS200)を示すフローチャートである。エッジ中継処理(ステップS200)は、MACフレームとMAC−in−MACフレームとの間の変換を行ってユーザネットワーク61,62とコアスイッチ100との間を中継する処理である。本実施例では、MACフレームおよびMAC−in−MACフレームを含むレイヤ2フレームが入出力ポート222に入力された場合、エッジ制御部210は、エッジ中継処理(ステップS200)を開始する。
【0080】
図8に示すように、エッジ中継処理(ステップS200)が開始されると、エッジ制御部210は、フレーム受信処理(ステップS210)を実行する。入出力ポート222に入力されたレイヤ2フレームがMACフレームである場合には、フレーム受信処理(ステップS210)において、エッジ制御部210は、入出力ポート222から受け取ったMACフレームをそのまま受信する。他方、入出力ポート222に入力されたレイヤ2フレームがMAC−in−MACフレームである場合には、フレーム受信処理(ステップS210)において、エッジ制御部210は、入出力ポート222から受け取ったMAC−in−MACフレームをMACフレームへとデカプセル化した後、そのMACフレームを受信する。なお、本明細書において、MAC−in−MACフレームのデカプセル化とは、そのMAC−in−MACフレームのフレーム構造800における格納部850にカプセル化されているMACフレームにMAC−in−MACフレームを変換することを意味する。
【0081】
フレーム受信処理(ステップS210)の後、エッジ制御部210は、参加メッセージ特定部211によって実現される機能に基づいて参加メッセージ特定処理(ステップS220)を実行する。参加メッセージ特定処理(ステップS210)において、エッジ制御部210は、フレーム受信処理(ステップS210)において受信されたMACフレームの中から、マルチキャストグループに参加するパーソナルコンピュータ610からルータ612に対する参加メッセージを特定する。本実施例では、参加メッセージ特定処理(ステップS210)において、エッジ制御部210は、IGMPスヌーピングを実施することによって、パーソナルコンピュータ610からルータ612に対するIGMPjoinメッセージを参加メッセージとして特定する。
【0082】
図9の説明に移り、MACフレームがIGMPjoinメッセージである場合(ステップS225:「YES」)、エッジ制御部210は、マルチキャストポート設定部212によって実現される機能に基づいてマルチキャストポート設定処理(ステップS250)を実行する。マルチキャストポート設定処理(ステップS250)において、エッジ制御部210は、参加メッセージ特定処理(ステップS220)において特定されたIGMPjoinメッセージのマルチキャストグループを、そのIGMPjoinメッセージが入力された入出力ポート222に関連付ける。本実施例では、エッジ制御部210は、マルチキャストグループを入出力ポート222に関連付けた情報を転送先データベース242に登録する。
【0083】
ここで、拠点ネットワーク61cに所属するパーソナルコンピュータ610cから、拠点ネットワーク61aに所属するルータ612aに対するIGMPjoinメッセージが送信された場合に、エッジスイッチ200a,200cにおいて実行されるマルチキャストポート設定処理(ステップS250)の動作について説明する。この説明におけるIGMPjoinメッセージにおけるマルチキャストグループを示すマルチキャストMACアドレスは、「01:00:5e:00:12:34」である。
【0084】
エッジスイッチ200cは、ポート番号「2」が割り当てられた入出力ポート222を通じてパーソナルコンピュータ610cからのIGMPjoinメッセージを受信すると、マルチキャストポート設定処理(ステップS250)において、図5の転送先データベース242cに登録番号「500」で示される登録情報を登録する。図5の転送先データベース242cにおける登録番号「500」の登録情報は、スヌーピングで学習した情報であることが示され、エッジスイッチ200cにおいて受信されたMACフレームが、VLAN識別子「20」で識別されるVLANに所属し、その宛先MACアドレスが「01:00:5e:00:12:34」である場合、そのMACフレームをポート番号「2」が割り当てられた入出力ポート222から送信することが示されている。
【0085】
一方、エッジスイッチ200aは、パーソナルコンピュータ610cから送信されエッジスイッチ200cおよびコアネットワーク12を経由したIGMPjoinメッセージを、ポート番号「1」が割り当てられた入出力ポート222を通じて受信すると、マルチキャストポート設定処理(ステップS250)において、図4の転送先データベース242aに登録番号「500」で示される登録情報を登録する。図4の転送先データベース242aにおける登録番号「500」の登録情報は、スヌーピングで学習した情報であることが示され、エッジスイッチ200aにおいて受信されたMACフレームが、VLAN識別子「20」で識別されるVLANに所属し、その宛先MACアドレスが「01:00:5e:00:12:34」である場合、そのMACフレームをカプセル化するMAC−in−MACフレームの宛先MACアドレスを、「ff:00:00:20:12:34」に設定し、そのMAC−in−MACフレームをポート番号「1」が割り当てられた入出力ポート222から送信することが示されている。本実施例では、コアネットワーク宛先MACアドレス「ff:00:00:20:12:34」は、IGMPjoinメッセージにおけるマルチキャストグループを示すマルチキャストMACアドレス「01:00:5e:00:12:34」を変換して作成されたMACアドレスである。
【0086】
図9の説明に戻り、マルチキャストポート設定処理(ステップS250)の後、エッジ制御部210は、転送先データベース242に基づいて、複数の入出力ポート222の中からIGMPjoinメッセージを送信する転送先ポートを選定する(ステップS262)。
【0087】
転送先ポートを選定した後(ステップS262)、その転送先ポートに接続された転送先がコアネットワーク12である場合(ステップS263:「YES」)、エッジ制御部210は、マーキング付加部213によって実現される機能に基づいてマーキング付加処理(ステップS265)を実行する。マーキング付加処理(ステップS265)において、エッジ制御部210は、参加メッセージ特定処理(ステップS210)によって特定されたIGMPjoinメッセージをカプセル化したMAC−in−MACフレームのヘッダに、IGMPjoinメッセージがカプセル化されていることを示すマーキング情報を付加する。
【0088】
本実施例では、マーキング情報は、1ビット(bit)のデータであり、その値が「1」である場合、MAC−in−MACフレームにIGMPjoinメッセージがカプセル化されていることを示す。本実施例では、マーキング情報は、MAC−in−MACフレームのフレーム構造800における格納部836に格納されるが、他の実施形態において、格納部810,820,840の少なくとも一つに格納されても良い。なお、MACアドレスを格納する格納部810,820の少なくとも一方にマーキング情報を格納する場合、コアスイッチ100およびエッジスイッチ200の少なくとも一方は、MACアドレスとマーキング情報とを区別して認識する機能を備えても良い。これによって、マーキング情報を付加することによる転送先データベースにおける情報量の増加を回避することができる。
【0089】
マーキング付加処理(ステップS265)の後、エッジ制御部210は、マーキング情報を付加したMAC−in−MACフレームを、転送先ポートとして選定された入出力ポート222へ送出する(ステップS266)。
【0090】
転送先ポートを選定した後(ステップS262)、その転送先ポートに接続された転送先がコアネットワーク12でない場合(ステップS263:「NO」)、エッジ制御部210は、転送先ポートとして選定された入出力ポート222へ、IGMPjoinメッセージを運ぶMACフレームをそのまま送出する(ステップS268)。
【0091】
全ての転送先ポートに対する処理を終えた後(ステップS269:「YES」)、エッジ制御部210は、エッジ中継処理(ステップS200)を終了する。
【0092】
図8の説明に戻り、フレーム受信処理(ステップS210)において受信されたMACフレームがIGMPjoinメッセージでない場合(ステップS225:「NO」)、エッジ制御部210は、マルチキャストフレーム特定部216によって実現される機能に基づいてマルチキャストフレーム特定処理(ステップS230)を実行する。マルチキャストフレーム特定処理(ステップS230)において、エッジ制御部210は、フレーム受信処理(ステップS210)において受信されたMACフレームの中からマルチキャストフレームを特定する。本実施例では、マルチキャストフレーム特定処理(ステップS230)において、エッジ制御部210は、MACフレームにおける宛先MACアドレスがマルチキャストMACアドレスである場合に、そのMACフレームがマルチキャストフレームであると認識する。
【0093】
図10の説明に移り、MACフレームがマルチキャストフレームである場合(ステップS235:「YES」)、エッジ制御部210は、マルチキャストポート選定部217によって実現される機能に基づいてマルチキャストポート選定処理(ステップS282)を実行する。マルチキャストポート選定処理(ステップS282)において、エッジ制御部210は、転送先データベース242に基づいて、複数の入出力ポート222の中からマルチキャストフレームを送信する転送先ポートを選定する。
【0094】
ここで、インターネット90に接続されたサーバコンピュータ900から配信されたマルチキャストパケットが、マルチキャストグループ「01:00:5e:00:12:34」に対するマルチキャスト通信が設定されたルータ612aから転送された場合に、エッジスイッチ200a,200cにおいて実行されるマルチキャストポート選定処理(ステップS282)の動作について説明する。
【0095】
エッジスイッチ200aは、ポート番号「2」が割り当てられた入出力ポート222を通じて、ルータ612aからのマルチキャストパケットを運ぶマルチキャストフレームを受信すると、マルチキャストポート選定処理(ステップS282)において、図4に示した転送先データベース242aの登録情報の中から、そのマルチキャストフレームに示されたVALN識別子および宛先MACアドレス(マルチキャストグループ)に一致する登録情報を検索する。図4に示す例では、登録番号「500」の登録情報が該当し、その登録情報には、マルチキャストフレームをカプセル化するMAC−in−MACフレームの宛先MACアドレスを「ff:00:00:20:12:34」に設定すること、およびポート番号「1」が割り当てられた入出力ポート222を転送先ポートに選定することが示されている。
【0096】
一方、エッジスイッチ200cは、ポート番号「1」が割り当てられた入出力ポート222を通じて、エッジスイッチ200aからコアネットワーク12を経由したマルチキャストフレームを受信すると、マルチキャストポート選定処理(ステップS282)において、図5に示した転送先データベース242cの登録情報の中から、そのマルチキャストフレームに示されたVALN識別子および宛先MACアドレス(マルチキャストグループ)に一致する登録情報を検索する。図5に示す例では、登録番号「500」の登録情報が該当し、その登録情報には、ポート番号「2」が割り当てられた入出力ポート222を転送先ポートに選定することが示されている。
【0097】
図10の説明に戻り、マルチキャストポート選定処理(ステップS282)において転送先ポートを選定した後、その転送先ポートに接続された転送先がコアネットワーク12である場合(ステップS283:「YES」)、エッジ制御部210は、マルチキャストグループ付加部218によって実現される機能に基づいてマルチキャストグループ付加処理(ステップS285)を実行する。マルチキャストグループ付加処理(ステップS285)において、エッジ制御部210は、マルチキャストフレーム特定処理(ステップS230)において特定されたマルチキャストフレームをカプセル化したMAC−in−MACフレームのヘッダに、そのマルチキャストグループを示すマルチキャストグループ情報を付加する。本実施例では、マルチキャストグループ情報は、転送先データベース242においてマルチキャストグループに関連づけて登録されているコアネットワーク宛先MACアドレスであり、エッジ制御部210は、転送先データベース242に基づいてコアネットワーク宛先MACアドレスをMAC−in−MACフレームに設定することによって、MAC−in−MACフレームのヘッダにマルチキャストグループ情報を付加する。
【0098】
本実施例では、マルチキャストグループ情報は、マルチキャストグループを示すマルチキャストMACアドレスを変換して作成されたコアネットワーク宛先MACアドレスであり、エッジ制御部210は、MAC−in−MACフレームのフレーム構造800における格納部810にマルチキャストグループ情報を格納する。しかしながら、他の実施形態において、エッジ制御部210は、マルチキャストグループ情報を、マルチキャストMACアドレスをそのまま示す情報として、MAC−in−MACフレームのフレーム構造800における格納部810に格納しても良いし、マルチキャストMACアドレスをそのまま示す情報、またはマルチキャストMACアドレスを変形した情報として、MAC−in−MACフレームのフレーム構造800における格納部838に格納しても良い。
【0099】
マルチキャストグループ付加処理(ステップS285)の後、エッジ制御部210は、マルチキャストグループ情報を付加したMAC−in−MACフレームを、転送先ポートとして選定された入出力ポート222へ送出する(ステップS286)。
【0100】
マルチキャストポート選定処理(ステップS282)において転送先ポートを選定した後、その転送先ポートに接続された転送先がコアネットワーク12でない場合(ステップS283:「NO」)、エッジ制御部210は、転送先ポートとして選定された入出力ポート222へ、マルチキャストフレームを運ぶMACフレームをそのまま送出する(ステップS288)。
【0101】
全ての転送先ポートに対する処理を終えた後(ステップS289:「YES」)、エッジ制御部210は、エッジ中継処理(ステップS200)を終了する。
【0102】
図8の説明に戻り、フレーム受信処理(ステップS210)において受信されたMACフレームがIGMPjoinメッセージおよびマルチキャストフレームでない場合(ステップS235:「NO」)、エッジ制御部210は、フレーム受信処理(ステップS210)において受信されたMACフレームを転送先データベース242に基づいて入出力ポート222に送出する(ステップS242,S243,S245,S246,S248,S249)。その後、エッジ制御部210は、エッジ中継処理(ステップS200)を終了する。
【0103】
A2−2.コア中継処理:
図11ないし図13は、キャリアネットワーク10におけるコアスイッチ100のコア制御部110が実行するコア中継処理(ステップS100)を示すフローチャートである。コア中継処理(ステップS100)は、MACフレームをカプセル化したMAC−in−MACフレームを中継する処理である。本実施例では、レイヤ2フレームであるMAC−in−MACフレームが入出力ポート122に入力された場合、コア制御部110は、コア中継処理(ステップS100)を開始する。
【0104】
図11に示すように、コア中継処理(ステップS100)が開始されると、コア制御部110は、フレーム受信処理(ステップS110)を実行する。フレーム受信処理(ステップS110)において、コア制御部110は、入出力ポート122から受け取ったMAC−in−MACフレームを受信する。
【0105】
フレーム受信処理(ステップS110)の後、コア制御部110は、マーキング特定部111によって実現される機能に基づいてマーキング特定処理(ステップS120)を実行する。マーキング特定処理(ステップS120)において、コア制御部110は、フレーム受信処理(ステップS110)において受信されたMAC−in−MACフレームの中から、マーキング情報がヘッダに付加されたMAC−in−MACフレームを特定する。
【0106】
本実施例では、前述した通り、MAC−in−MACフレームにおけるマーキング情報は、そのMAC−in−MACフレームにIGMPjoinメッセージがカプセル化されていることを示す情報であり、IGMPjoinメッセージがMAC−in−MACフレームにカプセル化される際に、エッジスイッチ200によって付加される情報である。本実施例では、マーキング情報は、1ビットのデータであり、その値が「1」である場合、MAC−in−MACフレームにIGMPjoinメッセージがカプセル化されていることを示し、MAC−in−MACフレームのフレーム構造800における格納部836に格納されている情報である。
【0107】
図12の説明に移り、フレーム受信処理(ステップS110)において受信されたMAC−in−MACフレームに「1」の値を示すマーキング情報が付加されている場合(ステップS125:「YES」)、コア制御部110は、マルチキャストポート設定部112によって実現される機能に基づいてマルチキャストポート設定処理(ステップS150)を実行する。マルチキャストポート設定処理(ステップS150)において、コア制御部110は、マーキング情報が付加されたMAC−in−MACフレームにカプセル化されたIGMPjoinメッセージのマルチキャストグループを、そのMAC−in−MACフレームが入力された入出力ポート122に関連付ける。本実施例では、コア制御部110は、マルチキャストグループを入出力ポート122に関連付けた情報を転送先データベース142に登録する。
【0108】
ここで、拠点ネットワーク61bに所属するパーソナルコンピュータ610b、および拠点ネットワーク61cに所属するパーソナルコンピュータ610cの双方から、拠点ネットワーク61aに所属するルータ612aに対するIGMPjoinメッセージが送信された場合に、コアスイッチ100eにおいて実行されるマルチキャストポート設定処理(ステップS150)の動作について説明する。この説明におけるIGMPjoinメッセージにおけるマルチキャストグループを示すマルチキャストMACアドレスは、「01:00:5e:00:12:34」であり、コアネットワーク12においては、このマルチキャストMACアドレスを変換して作成されたコアネットワーク宛先MACアドレス「ff:00:00:20:12:34」がマルチキャストMACアドレスとして使用される。
【0109】
コアスイッチ100eは、ポート番号「2」が割り当てられた入出力ポート122を通じてパーソナルコンピュータ610bからのIGMPjoinメッセージをカプセル化したMAC−in−MACフレームを受信し、ポート番号「3」が割り当てられた入出力ポート122を通じてパーソナルコンピュータ610cからのIGMPjoinメッセージをカプセル化したMAC−in−MACフレームを受信すると、マルチキャストポート設定処理(ステップS150)において、図7の転送先データベース142eに登録番号「500」で示される登録情報を登録する。図7の転送先データベース142eにおける登録番号「500」の登録情報は、スヌーピングで学習した情報であることが示され、コアスイッチ100eにおいて受信されたMAC−in−MACフレームが、VLAN識別子「20」で識別されるVLANに所属し、その宛先MACアドレスが「ff:00:00:20:12:34」である場合、そのMAC−in−MACフレームをポート番号「2」およびポート番号「3」が割り当てられた入出力ポート122から送信することが示されている。
【0110】
図12の説明に戻り、マルチキャストポート設定処理(ステップS150)の後、コア制御部110は、IGMPjoinメッセージをカプセル化したMAC−in−MACフレームを転送先データベース142に基づいて入出力ポート122に送出する(ステップS162,S166,S169)。その後、コア制御部110は、コア中継処理(ステップS100)を終了する。
【0111】
図11の説明に戻り、フレーム受信処理(ステップS110)において受信されたMAC−in−MACフレームに「1」の値を示すマーキング情報が付加されていない場合(ステップS125:「NO」)、コア制御部110は、マルチキャストグループ特定部116によって実現される機能に基づいてマルチキャストグループ特定処理(ステップS130)を実行する。マルチキャストグループ特定処理(ステップS130)において、コア制御部110は、フレーム受信処理(ステップS110)において受信されたMAC−in−MACフレームの中から、マルチキャストグループ情報がヘッダに付加されたMAC−in−MACフレームを特定する。
【0112】
本実施例では、前述した通り、MAC−in−MACフレームにおけるマルチキャストグループ情報は、そのMAC−in−MACフレームにカプセル化されているマルチキャストパケットが配信されるマルチキャストグループを示す情報であり、そのマルチキャストパケットがMAC−in−MACフレームにカプセル化される際に、エッジスイッチ200によって付加される情報である。本実施例では、マルチキャストグループ情報は、マルチキャストグループを示すマルチキャストMACアドレスを変換して作成されたコアネットワーク宛先MACアドレスであり、MAC−in−MACフレームのフレーム構造800における格納部810に格納されている情報である。
【0113】
図13の説明に移り、フレーム受信処理(ステップS110)において受信されたMAC−in−MACフレームにマルチキャストグループ情報が付加されている場合(ステップS135:「YES」)、コア制御部110は、マルチキャストポート選定部117によって実現される機能に基づいてマルチキャストポート選定処理(ステップS182)を実行する。マルチキャストポート選定処理(ステップS182)において、コア制御部110は、転送先データベース142に基づいて、複数の入出力ポート122の中から、マルチキャストグループ情報が付加されているMAC−in−MACフレームを送信する転送先ポートを選定する。
【0114】
ここで、インターネット90に接続されたサーバコンピュータ900から配信されたマルチキャストパケットが、マルチキャストグループ「01:00:5e:00:12:34」に対するマルチキャスト通信が設定されたルータ612aから転送された場合に、コアスイッチ100eにおいて実行されるマルチキャストポート選定処理(ステップS182)の動作について説明する。
【0115】
コアスイッチ100eは、ポート番号「1」が割り当てられた入出力ポート122を通じて、ルータ612aからのマルチキャストパケットを運ぶMAC−in−MACフレームを受信すると、マルチキャストポート選定処理(ステップS182)において、図7に示した転送先データベース142eの登録情報の中から、そのMAC−in−MACフレームに示されたVALN識別子および宛先MACアドレス(マルチキャストグループ)に一致する登録情報を検索する。図7に示す例では、登録番号「500」の登録情報が該当し、その登録情報には、ポート番号「2」およびポート番号「3」が割り当てられた入出力ポート122を転送先ポートに選定することが示されている。
【0116】
図13の説明に戻り、マルチキャストポート選定処理(ステップS182)の後、コア制御部110は、フレーム受信処理(ステップS110)において受信されたMAC−in−MACフレームを、マルチキャストポート選定処理(ステップS182)において転送先ポートとして選定された入出力ポート122へ送出する(ステップS186,S189)。その後、コア制御部110は、コア中継処理(ステップS100)を終了する。
【0117】
図14は、キャリアネットワーク10においてマルチキャストパケットが転送される一例を示す説明図である。本実施例では、前述した通り、コアスイッチ100eは、ポート番号「1」が割り当てられた入出力ポート122を通じて、ルータ612aからのマルチキャストパケットを運ぶMAC−in−MACフレームを受信すると、そのMAC−in−MACフレームを、ポート番号「2」およびポート番号「3」が割り当てられた入出力ポート122に送出する(ステップS186)。その結果、図14に示すように、マルチキャストフレームがカプセル化されたMAC−in−MACフレームがキャリアネットワーク10にテンスされた場合であっても、コアスイッチ100eからコアスイッチ100dへのフラッディングが回避される。
【0118】
図11の説明に戻り、フレーム受信処理(ステップS110)において受信されたMAC−in−MACフレームにマーキング情報およびマルチキャストグループ情報が付加されていない場合(ステップS135:「NO」)、コア制御部110は、フレーム受信処理(ステップS110)において受信されたMAC−in−MACフレームを転送先データベース142に基づいて入出力ポート122に送出する(ステップS142,S146,S149)。その後、コア制御部110は、コア中継処理(ステップS100)を終了する。
【0119】
A3.効果:
以上説明したキャリアネットワーク10によれば、コアスイッチ100においてMAC−in−MACフレームのヘッダに付加されたマーキング情報をスヌーピングすることによって(ステップS120)、コアスイッチ100の入出力ポート122をマルチキャストグループに関連付けることができる(ステップS150)。これによって、マルチキャストフレームがカプセル化されたMAC−in−MACフレームからマルチキャストグループを特定し(ステップS130)、そのマルチキャストグループに関連付けられた入出力ポート122からMAC−in−MACフレームを出力することができる(ステップS182)。その結果、マルチキャストフレームがカプセル化されたMAC−in−MACフレームのフラッディングが回避され、マルチキャスト通信による通信速度の低下を抑制することができる。
【0120】
B.その他の実施形態:
以上、本発明の実施の形態について説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。
【符号の説明】
【0121】
1…コンピュータネットワーク
10…キャリアネットワーク
12…コアネットワーク
61,62…ユーザネットワーク
61a−61d,62a−62d…拠点ネットワーク
90…インターネット
100(100a−100e)…コアスイッチ
110…コア制御部
111…マーキング特定部
112…マルチキャストポート設定部
116…マルチキャストグループ特定部
117…マルチキャストポート選定部
120…ネットワークインタフェース
122…入出力ポート
130…バッファ
140…記憶部
142(142e)…転送先データベース
150…管理インタフェース
200(200a−200d)…エッジスイッチ
210…エッジ制御部
211…参加メッセージ特定部
212…マルチキャストポート設定部
213…マーキング付加部
216…マルチキャストフレーム特定部
217…マルチキャストポート選定部
218…マルチキャストグループ付加部
220…ネットワークインタフェース
222…入出力ポート
230…バッファ
240…記憶部
242(242a,242c)…転送先データベース
250…管理インタフェース
610(610b,610c)…パーソナルコンピュータ
612(612a)…ルータ
700…フレーム構造
710,720,730,740,750,760…格納部
800…フレーム構造
810,820,830,832,835,836,837,838,840,850,860…格納部
900…サーバコンピュータ
1421,1424,1426,1429…格納部
2421,2424,2426,2428,2429…格納部
【特許請求の範囲】
【請求項1】
ユーザネットワークにおける複数の拠点間で転送されるMACフレームを中継するレイヤ2仮想プライベートネットワークを構築するネットワークシステムであって、
前記MACフレームをカプセル化したMAC−in−MACフレームを中継するコアスイッチと、
前記MACフレームと前記MAC−in−MACフレームとの間の変換を行って前記ユーザネットワークと前記コアスイッチとの間を中継するエッジスイッチと
を備え、
前記エッジスイッチは、
前記ユーザネットワークから転送されたMACフレームの中から、マルチキャストグループに参加するホストからルータに対する参加メッセージを特定する参加メッセージ特定部と、
前記参加メッセージ特定部によって特定された参加メッセージをカプセル化したMAC−in−MACフレームのヘッダに、該参加メッセージを示すマーキング情報を付加するマーキング付加部と
を含み、
前記コアスイッチは、
レイヤ2フレームを入出力する複数の入出力ポートと、
前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、前記マーキング情報がヘッダに付加されたMAC−in−MACフレームを特定するマーキング特定部と、
前記マーキング特定部によって特定されたMAC−in−MACフレームにカプセル化された参加メッセージのマルチキャストグループを、該MAC−in−MACフレームが入力された入出力ポートに関連付けるポート設定部と
を含む、ネットワークシステム。
【請求項2】
請求項1に記載のネットワークシステムであって、
前記エッジスイッチは、更に、
前記ユーザネットワークから転送されたMACフレームの中から、前記ルータから転送されるマルチキャストフレームを特定するマルチキャストフレーム特定部と、
前記マルチキャストフレーム特定部によって特定されたマルチキャストフレームをカプセル化したMAC−in−MACフレームのヘッダに、該マルチキャストフレームのマルチキャストグループを示すマルチキャストグループ情報を付加するマルチキャストグループ付加部と
を含み、
前記コアスイッチは、更に、
前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、前記マルチキャストグループ情報がヘッダに付加されたMAC−in−MACフレームを特定するマルチキャストグループ特定部と、
前記マルチキャストグループ特定部によって特定されたMAC−in−MACフレームのマルチキャストグループ情報によって示されるマルチキャストグループに対して前記ポート設定部によって関連付けられた入出力ポートを、該MAC−in−MACフレームを出力する転送先ポートとして選定するポート選定部と
を含む、ネットワークシステム。
【請求項3】
請求項1または請求項2に記載のネットワークシステムであって、
前記エッジスイッチの前記マーキング付加部は、前記参加メッセージをカプセル化したMAC−in−MACフレームのヘッダにおける
(a1)該MAC−in−MACフレームを処理する優先度を示す情報を格納する格納部、
(a2)該MAC−in−MACフレームの発信元を示す情報を格納する格納部、
(a3)該MAC−in−MACフレームの宛先を示す情報を格納する格納部、
(a4)該MAC−in−MACフレームによって運ばれるデータを規定するプロトコルおよび該データのサイズの少なくとも一方を示す情報を格納する格納部
の少なくとも一つに前記マーキング情報を付加する、ネットワークシステム。
【請求項4】
請求項1ないし請求項3のいずれかに記載のネットワークシステムであって、
前記エッジスイッチの前記マルチキャストグループ付加部は、前記マルチキャストフレームをカプセル化したMAC−in−MACフレームのヘッダにおける
(b1)該MAC−in−MACフレームの宛先を示す情報を格納する格納部、
(b2)該MAC−in−MACフレームを転送するユーザネットワークを特定する情報を格納する格納部
の少なくとも一つに前記マルチキャストグループ情報を付加する、ネットワークシステム。
【請求項5】
MACフレームをカプセル化したMAC−in−MACフレームを中継するコアスイッチであって、
レイヤ2フレームを入出力する複数の入出力ポートと、
前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、マルチキャストグループに参加するホストからルータに対する参加メッセージを示すマーキング情報がヘッダに付加されたMAC−in−MACフレームを特定するマーキング特定部と、
前記マーキング特定部によって特定されたMAC−in−MACフレームにカプセル化された参加メッセージのマルチキャストグループを、該MAC−in−MACフレームが入力された入出力ポートに関連付けるポート設定部と
を備えるコアスイッチ。
【請求項6】
請求項5に記載のコアスイッチであって、更に、
前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、マルチキャストグループを示すマルチキャストグループ情報がヘッダに付加されたMAC−in−MACフレームを特定するマルチキャストグループ特定部と、
前記マルチキャストグループ特定部によって特定されたMAC−in−MACフレームのマルチキャストグループ情報によって示されるマルチキャストグループに対して前記ポート設定部によって関連付けられた入出力ポートを、該MAC−in−MACフレームを出力する転送先ポートとして選定するポート選定部と
を備えるコアスイッチ。
【請求項7】
MACフレームとMAC−in−MACフレームとの間の変換を行ってユーザネットワークとコアスイッチとの間を中継するエッジスイッチであって、
前記ユーザネットワークから転送されたMACフレームの中から、マルチキャストグループに参加するホストからルータに対する参加メッセージを特定する参加メッセージ特定部と、
前記参加メッセージ特定部によって特定された参加メッセージをカプセル化したMAC−in−MACフレームのヘッダに、該参加メッセージを示すマーキング情報を付加するマーキング付加部と
を備えるエッジスイッチ。
【請求項8】
請求項7に記載のエッジスイッチであって、更に、
前記ユーザネットワークから転送されたMACフレームの中から、前記ルータから転送されるマルチキャストフレームを特定するマルチキャストフレーム特定部と、
前記マルチキャストフレーム特定部によって特定されたマルチキャストフレームをカプセル化したMAC−in−MACフレームのヘッダに、該マルチキャストフレームのマルチキャストグループを示すマルチキャストグループ情報を付加するマルチキャストグループ付加部と
を備えるエッジスイッチ。
【請求項9】
ユーザネットワークにおける複数の拠点間で転送されるMACフレームを中継するデータ中継方法であって、
レイヤ2フレームを入出力する複数の入出力ポートを備えるコアスイッチが、前記MACフレームをカプセル化したMAC−in−MACフレームを中継するコア中継工程と、
エッジスイッチが、前記MACフレームと前記MAC−in−MACフレームとの間の変換を行って前記ユーザネットワークと前記コアスイッチとの間を中継するエッジ中継工程と
を備え、
前記エッジ中継工程は、
前記ユーザネットワークから転送されたMACフレームの中から、マルチキャストグループに参加するホストからルータに対する参加メッセージを特定する参加メッセージ特定工程と、
前記参加メッセージ特定工程によって特定された参加メッセージをカプセル化したMAC−in−MACフレームのヘッダに、該参加メッセージを示すマーキング情報を付加するマーキング付加工程と
を含み、
前記コア中継工程は、
前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、前記マーキング情報がヘッダに付加されたMAC−in−MACフレームを特定するマーキング特定工程と、
前記マーキング特定工程によって特定されたMAC−in−MACフレームにカプセル化された参加メッセージのマルチキャストグループを、該MAC−in−MACフレームが入力された入出力ポートに関連付けるポート設定工程と
を含む、データ中継方法。
【請求項10】
請求項9に記載のデータ中継方法であって、
前記エッジ中継工程は、更に、
前記ユーザネットワークから転送されたMACフレームの中から、前記ルータから転送されるマルチキャストフレームを特定するマルチキャストフレーム特定工程と、
前記マルチキャストフレーム特定工程によって特定されたマルチキャストフレームをカプセル化したMAC−in−MACフレームのヘッダに、該マルチキャストフレームのマルチキャストグループを示すマルチキャストグループ情報を付加するマルチキャストグループ付加工程と
を含み、
前記コア中継工程は、更に、
前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、前記マルチキャストグループ情報がヘッダに付加されたMAC−in−MACフレームを特定するマルチキャストグループ特定工程と、
前記マルチキャストグループ特定工程によって特定されたMAC−in−MACフレームのマルチキャストグループ情報によって示されるマルチキャストグループに対して前記ポート設定工程によって関連付けられた入出力ポートを、該MAC−in−MACフレームを出力する転送先ポートとして選定するポート選定工程と
を含む、データ中継方法。
【請求項1】
ユーザネットワークにおける複数の拠点間で転送されるMACフレームを中継するレイヤ2仮想プライベートネットワークを構築するネットワークシステムであって、
前記MACフレームをカプセル化したMAC−in−MACフレームを中継するコアスイッチと、
前記MACフレームと前記MAC−in−MACフレームとの間の変換を行って前記ユーザネットワークと前記コアスイッチとの間を中継するエッジスイッチと
を備え、
前記エッジスイッチは、
前記ユーザネットワークから転送されたMACフレームの中から、マルチキャストグループに参加するホストからルータに対する参加メッセージを特定する参加メッセージ特定部と、
前記参加メッセージ特定部によって特定された参加メッセージをカプセル化したMAC−in−MACフレームのヘッダに、該参加メッセージを示すマーキング情報を付加するマーキング付加部と
を含み、
前記コアスイッチは、
レイヤ2フレームを入出力する複数の入出力ポートと、
前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、前記マーキング情報がヘッダに付加されたMAC−in−MACフレームを特定するマーキング特定部と、
前記マーキング特定部によって特定されたMAC−in−MACフレームにカプセル化された参加メッセージのマルチキャストグループを、該MAC−in−MACフレームが入力された入出力ポートに関連付けるポート設定部と
を含む、ネットワークシステム。
【請求項2】
請求項1に記載のネットワークシステムであって、
前記エッジスイッチは、更に、
前記ユーザネットワークから転送されたMACフレームの中から、前記ルータから転送されるマルチキャストフレームを特定するマルチキャストフレーム特定部と、
前記マルチキャストフレーム特定部によって特定されたマルチキャストフレームをカプセル化したMAC−in−MACフレームのヘッダに、該マルチキャストフレームのマルチキャストグループを示すマルチキャストグループ情報を付加するマルチキャストグループ付加部と
を含み、
前記コアスイッチは、更に、
前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、前記マルチキャストグループ情報がヘッダに付加されたMAC−in−MACフレームを特定するマルチキャストグループ特定部と、
前記マルチキャストグループ特定部によって特定されたMAC−in−MACフレームのマルチキャストグループ情報によって示されるマルチキャストグループに対して前記ポート設定部によって関連付けられた入出力ポートを、該MAC−in−MACフレームを出力する転送先ポートとして選定するポート選定部と
を含む、ネットワークシステム。
【請求項3】
請求項1または請求項2に記載のネットワークシステムであって、
前記エッジスイッチの前記マーキング付加部は、前記参加メッセージをカプセル化したMAC−in−MACフレームのヘッダにおける
(a1)該MAC−in−MACフレームを処理する優先度を示す情報を格納する格納部、
(a2)該MAC−in−MACフレームの発信元を示す情報を格納する格納部、
(a3)該MAC−in−MACフレームの宛先を示す情報を格納する格納部、
(a4)該MAC−in−MACフレームによって運ばれるデータを規定するプロトコルおよび該データのサイズの少なくとも一方を示す情報を格納する格納部
の少なくとも一つに前記マーキング情報を付加する、ネットワークシステム。
【請求項4】
請求項1ないし請求項3のいずれかに記載のネットワークシステムであって、
前記エッジスイッチの前記マルチキャストグループ付加部は、前記マルチキャストフレームをカプセル化したMAC−in−MACフレームのヘッダにおける
(b1)該MAC−in−MACフレームの宛先を示す情報を格納する格納部、
(b2)該MAC−in−MACフレームを転送するユーザネットワークを特定する情報を格納する格納部
の少なくとも一つに前記マルチキャストグループ情報を付加する、ネットワークシステム。
【請求項5】
MACフレームをカプセル化したMAC−in−MACフレームを中継するコアスイッチであって、
レイヤ2フレームを入出力する複数の入出力ポートと、
前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、マルチキャストグループに参加するホストからルータに対する参加メッセージを示すマーキング情報がヘッダに付加されたMAC−in−MACフレームを特定するマーキング特定部と、
前記マーキング特定部によって特定されたMAC−in−MACフレームにカプセル化された参加メッセージのマルチキャストグループを、該MAC−in−MACフレームが入力された入出力ポートに関連付けるポート設定部と
を備えるコアスイッチ。
【請求項6】
請求項5に記載のコアスイッチであって、更に、
前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、マルチキャストグループを示すマルチキャストグループ情報がヘッダに付加されたMAC−in−MACフレームを特定するマルチキャストグループ特定部と、
前記マルチキャストグループ特定部によって特定されたMAC−in−MACフレームのマルチキャストグループ情報によって示されるマルチキャストグループに対して前記ポート設定部によって関連付けられた入出力ポートを、該MAC−in−MACフレームを出力する転送先ポートとして選定するポート選定部と
を備えるコアスイッチ。
【請求項7】
MACフレームとMAC−in−MACフレームとの間の変換を行ってユーザネットワークとコアスイッチとの間を中継するエッジスイッチであって、
前記ユーザネットワークから転送されたMACフレームの中から、マルチキャストグループに参加するホストからルータに対する参加メッセージを特定する参加メッセージ特定部と、
前記参加メッセージ特定部によって特定された参加メッセージをカプセル化したMAC−in−MACフレームのヘッダに、該参加メッセージを示すマーキング情報を付加するマーキング付加部と
を備えるエッジスイッチ。
【請求項8】
請求項7に記載のエッジスイッチであって、更に、
前記ユーザネットワークから転送されたMACフレームの中から、前記ルータから転送されるマルチキャストフレームを特定するマルチキャストフレーム特定部と、
前記マルチキャストフレーム特定部によって特定されたマルチキャストフレームをカプセル化したMAC−in−MACフレームのヘッダに、該マルチキャストフレームのマルチキャストグループを示すマルチキャストグループ情報を付加するマルチキャストグループ付加部と
を備えるエッジスイッチ。
【請求項9】
ユーザネットワークにおける複数の拠点間で転送されるMACフレームを中継するデータ中継方法であって、
レイヤ2フレームを入出力する複数の入出力ポートを備えるコアスイッチが、前記MACフレームをカプセル化したMAC−in−MACフレームを中継するコア中継工程と、
エッジスイッチが、前記MACフレームと前記MAC−in−MACフレームとの間の変換を行って前記ユーザネットワークと前記コアスイッチとの間を中継するエッジ中継工程と
を備え、
前記エッジ中継工程は、
前記ユーザネットワークから転送されたMACフレームの中から、マルチキャストグループに参加するホストからルータに対する参加メッセージを特定する参加メッセージ特定工程と、
前記参加メッセージ特定工程によって特定された参加メッセージをカプセル化したMAC−in−MACフレームのヘッダに、該参加メッセージを示すマーキング情報を付加するマーキング付加工程と
を含み、
前記コア中継工程は、
前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、前記マーキング情報がヘッダに付加されたMAC−in−MACフレームを特定するマーキング特定工程と、
前記マーキング特定工程によって特定されたMAC−in−MACフレームにカプセル化された参加メッセージのマルチキャストグループを、該MAC−in−MACフレームが入力された入出力ポートに関連付けるポート設定工程と
を含む、データ中継方法。
【請求項10】
請求項9に記載のデータ中継方法であって、
前記エッジ中継工程は、更に、
前記ユーザネットワークから転送されたMACフレームの中から、前記ルータから転送されるマルチキャストフレームを特定するマルチキャストフレーム特定工程と、
前記マルチキャストフレーム特定工程によって特定されたマルチキャストフレームをカプセル化したMAC−in−MACフレームのヘッダに、該マルチキャストフレームのマルチキャストグループを示すマルチキャストグループ情報を付加するマルチキャストグループ付加工程と
を含み、
前記コア中継工程は、更に、
前記複数の入出力ポートを通じて入力されたMAC−in−MACフレームの中から、前記マルチキャストグループ情報がヘッダに付加されたMAC−in−MACフレームを特定するマルチキャストグループ特定工程と、
前記マルチキャストグループ特定工程によって特定されたMAC−in−MACフレームのマルチキャストグループ情報によって示されるマルチキャストグループに対して前記ポート設定工程によって関連付けられた入出力ポートを、該MAC−in−MACフレームを出力する転送先ポートとして選定するポート選定工程と
を含む、データ中継方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−200026(P2012−200026A)
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【出願番号】特願2012−165280(P2012−165280)
【出願日】平成24年7月26日(2012.7.26)
【分割の表示】特願2009−76272(P2009−76272)の分割
【原出願日】平成21年3月26日(2009.3.26)
【出願人】(504411166)アラクサラネットワークス株式会社 (315)
【Fターム(参考)】
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【出願日】平成24年7月26日(2012.7.26)
【分割の表示】特願2009−76272(P2009−76272)の分割
【原出願日】平成21年3月26日(2009.3.26)
【出願人】(504411166)アラクサラネットワークス株式会社 (315)
【Fターム(参考)】
[ Back to top ]