以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
図1は、本発明の第1の実施形態のネットワークシステムの例を示す説明図である。本発明のネットワークシステムは、ネットワーク1を形成する複数のスイッチ3と、各スイッチ3を制御する制御装置2とを備える。
ネットワーク1は、通信キャリア(以下、単にキャリアと記す。)が広域LANを提供するために用いるネットワークである。例えば、あるユーザ(例えば、企業)が、異なる地域にLAN8a,LAN8bを有しているとする。LAN8a,LAN8bがそれぞれネットワーク1に接続され、互いに離れた地域に存在するLAN8a,8b間の通信が可能となる。図1に示す例では、LAN8a内のノード9aがエッジノードとして、ネットワーク1内の1つのスイッチ3に接続され、同様に、LAN8b内のノード9bがエッジノードとして、ネットワーク1内の1つのスイッチ3に接続されている。なお、LAN8a,8bのエッジノード以外のノードについては図示を省略している。なお、エッジノードは、ネットワーク内のノードのうち、他のネットワークに接続されているノードである。
ネットワーク1を用いた広域LANのサービスの提供を受ける企業(ユーザ)は複数であってもよい。なお、広域LANのサービスとは、例えば、ネットワーク(本例ではネットワーク1)を用いて、互いに離れた地域に存在するLAN間での通信を可能にするサービスである。キャリアが広域LANのサービスを提供するために用いるネットワーク1は、そのキャリア自身が有しているネットワークである場合や、別のキャリアから借り受けているネットワークである場合がある。
個々のスイッチ3は、汎用的なスイッチである。例えば、個々のスイッチ3は、IEEE802.1adに準拠していればよく、EoE(Ethernet(登録商標) over Ethernet:イーサネットオーバイーサネット)等の特別な規格に準拠している必要はない。
ただし、各スイッチ3は制御装置2に接続されていて、各スイッチ3には制御装置2からの制御を受ける機能が付加されている。各実施形態では、制御装置2がオープンフローに従って各スイッチ3を制御する場合を例にして説明する。すなわち、各スイッチ3には、受信したフレームをどのスイッチに転送するか等のアクションと、そのアクションを実行するためのフレームの条件とを定めた情報(フローエントリ)が設定される。スイッチ3は、フレームを受信した場合、フレームによって条件が満たされているフローエントリを検索し、そのフローエントリのアクションに従ってそのフレームを転送する。また、フレームによって条件が満たされているフローエントリの検索に失敗した場合、スイッチ3は、そのフレームの情報を制御装置2に送る。制御装置2は、そのフレームの送信先や送信元の情報等に基づいて、そのフレームの転送経路を算出し、その転送経路上の各スイッチ3にそれぞれ、転送経路に沿ってそのフレームが転送されるように、フローエントリを設定する。フローエントリ内の条件は、そのフレームの送信元や送信先等に関する条件であり、転送経路上の各スイッチ3において共通である。アクションとしては、転送経路上の次の転送先となるスイッチにフレームを転送することが定められる。従って、アクションはスイッチ毎に定められる。
ユーザは、ユーザが保有するLAN8a,8b内で、VLANの拡張が可能なフォーマットのフレームを転送してよく、エッジノード9a,9bは、そのフレームをネットワーク1内のスイッチ3に転送してもよい。
図2は、VLANの拡張が可能なフレームのフォーマットの例を示す模式図である。図2に示すように、VLANの拡張が可能なフレームは、アドレス情報11と、VLAN設定用情報12と、VLAN拡張用情報13とを含む。フレームにはその他の情報も含まれているが、ここでは説明を省略する。アドレス情報11は、送信元アドレスおよび送信先アドレスである。VLAN設定用情報12は、VLANを設定するための情報である。VLAN設定用情報12の具体例として、例えば、VLANIDが挙げられる。VLAN拡張用情報13は、VLANの拡張のために用いられている情報である。例えば、EoEの場合、EIDがVLAN拡張用情報13に該当する。EoEのEIDについては、後述する。アドレス情報11、VLAN設定用情報12およびVLAN拡張用情報13は、フレームのヘッダに含まれている。
各スイッチ3は、汎用的なスイッチであり、VLANの拡張に対応したフレームを直接解釈できなくてもよい。例えば、LAN8aのエッジノード9aから、図2に例示する情報を含むフレームを受信したとしても、スイッチ3は、VLAN拡張用情報13に該当する箇所を読み込んで、VLAN拡張用情報13を解釈できる必要はない。ただし、各スイッチ3は、VLAN拡張用情報13を包含するフレーム内の要素については、スイッチ3が準拠している規格に従ってフレームから抽出できるものとする。アドレス情報11やVLAN設定用情報12に関しても同様である。
また、ネットワーク1は、スイッチ3をノードとする物理的なネットワークであるが、このネットワーク1には、複数種類の仮想ネットワークが予めネットワークシステムの管理者によって設定されている。図3は、物理的なネットワーク1に対して設定される複数の仮想ネットワークを示す模式図である。図3では、n種類の仮想ネットワーク6a〜6nが設定された場合を図示している。各仮想ネットワークのトポロジはそれぞれ異なっていてよい。管理者は、予め、VLAN拡張用情報13が取り得る個々の値と、個々の仮想ネットワークとを対応付ける。そして、管理者は、仮想ネットワークのトポロジを示す情報(以下、仮想NWトポロジ情報と記す。)と、VLAN拡張用情報13が取り得る値とを対応付けた情報を、仮想ネットワーク毎にそれぞれ制御装置2に記憶させる。
図4は、制御装置2の構成例を示すブロック図である。制御装置2は、仮想ネットワーク情報記憶部(以下、仮想NW情報記憶部と記す。)21と、VLAN拡張用情報抽出部22と、経路算出部23と、設定部24とを備える。
仮想NW情報記憶部21は、仮想NWトポロジ情報とVLAN拡張用情報13が取り得る値とが対応づけられた情報を、仮想ネットワーク毎に記憶する記憶装置である。仮想NWトポロジ情報とVLAN拡張用情報13が取り得る値とが対応づけられた情報は、前述のように予め管理者によって定められる。管理者は、その情報を、仮想ネットワーク毎に仮想NW情報記憶部21に記憶させておけばよい。
スイッチ3から受信するフレームの情報は、VLAN拡張用情報抽出部22、経路算出部23および設定部24に入力される。なお、スイッチ3が制御装置2にフレームの情報を送信するということは、スイッチ3に、そのフレームによって条件が満たされるフローエントリが存在せず、そのフレームを転送できなかったことを意味する。また、ここでは、エッジノード9a,9b、あるいは図示していないエッジノードから、ネットワーク1内のスイッチ3がVLAN拡張可能なフォーマットのフレームを受信し、そのフレームによって条件が満たされるフローエントリが存在していなかったものとして説明する。
VLAN拡張用情報抽出部22は、スイッチ3から受信したフレームの情報からVLAN拡張用情報13を抽出し、そのVLAN拡張用情報13を経路算出部23に送る。
経路算出部23は、VLAN拡張用情報13の値に対応する仮想NWトポロジ情報を仮想NW情報記憶部21から読み込む。そして、経路算出部23は、スイッチ3から受信したフレームの情報から、アドレス情報11およびVLAN設定用情報12(図2参照)を抽出する。経路算出部23は、そのアドレス情報11およびVLAN設定用情報12に基づいて、仮想NWトポロジ情報が示すトポロジでのフレームの転送経路を算出する。
設定部24は、経路算出部23によって算出されたフレームの転送経路上の各スイッチ3に対してフローエントリを設定する。例えば、設定部24は、スイッチ3から受信したフレームの情報から、アドレス情報11(送信元アドレスおよび送信先アドレス)を包含している要素であってスイッチ3が抽出できる要素や、VLAN設定用情報12を包含している要素であってスイッチ3が抽出できる要素を特定してもよい。そして、設定部24は、それらの要素を、転送経路上の各スイッチ3で共通の条件として定めてもよい。また、設定部24は、転送経路上のスイッチ3毎に、次の転送先となるスイッチ3を特定する。そして、設定部24は、特定したスイッチ3に対してフレームを転送することをアクションとして定める。設定部24は、転送経路上のスイッチ3毎に、条件とアクションの組み合わせをフローエントリとして設定する。
この結果、フローエントリを見つけることができず、フレームを制御装置2に送信したスイッチ3にも新たにフローエントリが設定される。従って、そのスイッチ3は、そのフレーエントリに従って、エッジノードから受信したVLAN拡張可能なフォーマットのフレームのフレームを転送経路上の次のスイッチ3に転送できるようになる。また、転送経路上の各スイッチ3も、フレーエントリに従って、そのフレームを順次、転送経路上の次のスイッチ3に転送できるようになる。
VLAN拡張用情報抽出部22、経路算出部23および設定部24は、例えば、ネットワーク制御プログラムに従って動作するコンピュータのCPUによって実現される。この場合、CPUは、例えば、コンピュータのプログラム記憶装置(図示略)等のプログラム記録媒体からネットワーク制御プログラムを読み込み、そのプログラムに従って、VLAN拡張用情報抽出部22、経路算出部23および設定部24として動作する。また、VLAN拡張用情報抽出部22、経路算出部23および設定部24がそれぞれ別々のハードウェアで実現されていてもよい。
図5は、本発明の処理経過の例を示すシーケンス図である。ここでは、ネットワーク1内のスイッチ3のうち、エッジノード9aに接続されているスイッチ3がエッジノード9aからVLAN拡張可能なフォーマットのフレームを受信する場合を例にして説明する。
エッジノード9aに接続されているスイッチ3は、エッジノード9aからVLAN拡張可能なフォーマットのフレームを受信する(ステップS1)。スイッチ3は、そのスイッチ3に設定されているフローエントリの中から、そのフレームによって条件が満たされるフローエントリを検索する。ここでは、フローエントリの検索に失敗したものとする(ステップS2)。
フローエントリの検索に失敗した場合、スイッチ3は、受信したフレームの情報を制御装置2に送信する(ステップS3)。ステップS3では、スイッチ3は、アドレス情報11、VLAN設定用情報12およびVLAN拡張用情報13を含む部分を制御装置2に送信する。なお、スイッチ3は、汎用的なスイッチであるので、例えば、VLAN拡張用情報13そのものを直接抽出することはできない。従って、アドレス情報11、VLAN設定用情報12およびVLAN拡張用情報13を含む部分であって、スイッチ3が準拠している規格に従って抽出可能な部分を制御装置2に送信すればよい。
制御装置2は、ステップS3でスイッチ3から送信された情報を受信する。この情報は、VLAN拡張用情報抽出部22、経路算出部23および設定部24に入力される。
VLAN拡張用情報抽出部22は、スイッチ3から受信したフレームの情報の中から、VLAN拡張用情報13を抽出し、そのVLAN拡張用情報13を経路算出部23に送る(ステップS4)。
経路算出部23は、そのVLAN拡張用情報13の値に対応する仮想NWトポロジ情報を仮想NW情報記憶部21から読み込む(ステップS5)。
さらに、経路算出部23は、スイッチ3から受信したフレームの情報の中からアドレス情報11およびVLAN設定用情報12を抽出し、アドレス情報11およびVLAN設定用情報12に基づいて、ステップS5で読み込んだ仮想NWトポロジ情報が示すトポロジでのフレームの転送経路を算出する(ステップS6)。
設定部24は、ステップS6で算出されたフレームの転送経路上の各スイッチ3に対してフローエントリを設定する(ステップS7)。この動作については既に説明したので、ここでは説明を省略する。
ステップS1でエッジノード9aからフレームを受信したスイッチ3は、ステップS7で設定されたフローエントリに従って、そのフレームを転送経路上の次のスイッチ3に転送する(ステップS8)。転送経路上の各スイッチ3も、フレーエントリに従って、そのフレームを順次、転送経路上の次のスイッチ3に転送する。転送経路の最後のスイッチ3は、そのスイッチ3に接続されているエッジノードにそのフレームを転送すればよい。例えば、エッジノード9bに接続されているスイッチ3が転送経路の最後のスイッチ3であったとする。このスイッチ3は、そのフレームをエッジノード9bに転送すればよい。
本発明によれば、仮想ネットワークが予め複数種類定められ、仮想ネットワーク毎に、仮想NWトポロジ情報と、VLAN拡張用情報13が取り得る値とが対応付けられている。そして、制御装置2は、スイッチ3からVLAN拡張可能なフォーマットのフレームの情報を受信した場合、その情報からVLAN拡張用情報13を抽出し、VLAN拡張用情報13の値に対応する仮想NWトポロジ情報を特定する。さらに、仮想NWトポロジ情報が示すトポロジでの転送経路を、アドレス情報11およびVLAN設定用情報12に基づいて算出する。さらに、制御装置2は、その転送経路に沿ってフレームが転送されるように、転送経路上の各スイッチ3に対してフローエントリを設定する。従って、各スイッチ3がVLAN拡張可能な規格に準拠していなくても、スイッチ3は、VLAN拡張を実現しつつ、フレームを転送することができる。
また、スイッチ3は、設定されたフローエントリに従ってフレームを転送する。従って、スイッチ3は、VLAN拡張可能な規格に準拠したフォーマットのフレームをその規格に従って解釈することができなくても、VLAN拡張を実現しつつ、フレームを転送することができる。
次に、より具体的な例を用いて本発明について説明する。まず、具体的なフレームのフォーマットの例について説明する。
VLANの拡張を実現するための技術として、例えば、EoEがある。EoEでは、EoEで定められたヘッダをフレームに付加することによって、フレームをカプセル化する。EoEで用いられるフレームのフォーマットを図6に示す。図6に示す“6B”、“4B”等は、フレーム内の要素のバイト数を表す。このことは、図7でも同様である。EoEでは、フレームをカプセル化する際、EoE−MACアドレス101と、EoE−TAG102がフレームに付加される。EoE−TAG102には、Extended VLAN Tag 104と、EID103とが含まれている。Extended VLAN Tag 104は、カプセル化されたフレームのVLANIDに応じて定められたVLANIDが含まれている。Extended VLAN Tag 104内のVLANIDは、カプセル化されたフレームにおけるVLANIDに対応している。EID103において、1〜8のいずれかの値が定められる。Extended VLAN Tag 104内のVLANIDだけでは、利用可能な数が例えば4094のままとなるが、そのVLANIDとEID103の値の組み合わせによってVLANを区別することで、VLANの拡張を実現している。
また、IEEE802.1adで規格化されたフレームのフォーマットがある。IEEE802.1adで規格化されたフレームのフォーマットを図7に示す。IEEE802.1adで規格化されたフレームは、図7に示すように、C(Customer)−MACアドレス121と、S(Service )−TAG122と、C(Customer)−TAG123とを有している。
以下、ネットワーク1が、IEEE802.1adに準拠している場合を例にして説明する。この場合、ネットワーク1内の各スイッチ3は、図7に示すフォーマットに従ってフレーム内の各要素を読み取り解釈することができる。例えば、ネットワーク1内の各スイッチ3は、C−TAG123内の12ビットのVID(図7参照)を読み取ることはできる。
例えば、ユーザのLAN8a,8bでEoEのフレーム(図6参照)を転送している場合もある。この場合、ネットワーク1内のスイッチ3は、例えば、LAN8aのエッジノード9aから、EoEのフレームを受信する。このとき、ネットワーク1内のスイッチ3は、EoEのフォーマットで定められた要素を読み取り解釈できるとは限らない。例えば、EID103(図6)は、フレーム内のビット位置の観点からみると、図7に示すフォーマットのC−TAG123内の“VID”の下位8ビットに相当する。しかし、IEEE802.1adに準拠するスイッチは、このC−TAG123内の“VID”に相当する部分を読み取れても、その“VID”の下位8ビットの部分を読み取ることはできない。従って、ネットワーク1内のスイッチは、EoEのフレームを受信したとしてもEID103(図6)を認識できない。
このような場合であっても、本発明によれば、ネットワーク1内のスイッチ3が、EoEのフレームを転送可能とすることができる。
既に述べたように、以下の説明では、図1に示すネットワーク1内の各スイッチ3がIEEE802.1adに準拠している場合を例にする。従って、各スイッチ3は、図7に示すフォーマットのフレームであれば、解釈し、転送していくことができる。しかし、各スイッチ3はEoEには準拠していないものとする。従って、各スイッチ3は、EoEのフォーマット(図6参照)のフレームに関しては、例えば、EID103のみを抽出して、EID103の値を認識することはできない。また、以下の説明では、エッジノード9aに接続されているスイッチ3に、エッジノード9aからEoEのフレームが入力される場合を例にして説明する。
本例において、EID103がVLAN拡張用情報13に該当する。そして、EID103は、1〜8の値を取る。従って、管理者は、例えば、ネットワーク1に対して8種類の仮想ネットワークを設定しておき、各仮想ネットワークの仮想NWトポロジ情報と1〜8の値とを対応付けておく。そして、管理者は、仮想NWトポロジ情報とEID103の値との対応関係を予め仮想NW情報記憶部21に記憶させておく。
エッジノード9aに接続されているスイッチ3は、エッジノード9aからEoEのフレームを受信する(ステップS1)。スイッチ3は、そのスイッチ3に設定されているフローエントリの中から、そのフレームによって条件が満たされるフローエントリを検索する。ここでは、フローエントリの検索に失敗したものとする(ステップS2)。
フローエントリの検索に失敗した場合、スイッチ3は、受信したフレームの情報を制御装置2に送信する(ステップS3)。本例では、スイッチ3は、受信したフレームをIEEE802.1adに準拠したフレームとして認識する。そして、スイッチ3は、受信したフレームのC−MACアドレス121、S−TAG122およびC−TAG123(図7参照)に相当する部分を制御装置2に送信する。ここで、スイッチ3がC−MACアドレス121として認識した部分は、EoE−MACアドレス101に相当し(図6、図7参照)、図2に示すアドレス情報11を含む部分である。また、スイッチ3がS−TAG122として認識した部分はExtended VLAN Tag 104に相当し(図6、図7参照)、図2に示すVLAN設定用情報12を含む部分である。また、スイッチ3がC−TAG123として認識した部分はEoE−TAG102の下位4バイトに相当(図6、図7参照)し、図2に示すVLAN拡張用情報13を含む部分である。
制御装置2は、ステップS3でスイッチ3から送信された情報を受信する。この情報は、VLAN拡張用情報抽出部22、経路算出部23および設定部24に入力される。
VLAN拡張用情報抽出部22は、スイッチ3から受信した情報の中からEID103(図6参照)を抽出し、そのEID103を経路算出部23に送る(ステップS4)。ステップS4において、VLAN拡張用情報抽出部22は、スイッチ3がC−TAG123として認識して制御装置2に送信した部分の下位8ビットを抽出することで、EID103を抽出する。
次に、経路算出部23は、ステップS4で抽出されたEID103の値に対応する仮想NWトポロジ情報を仮想NW情報記憶部21から読み込む(ステップS5)。
経路算出部23は、スイッチ3が送信したExtended VLAN Tag 104からVLANIDを抽出する。そして、経路算出部23は、EoE−MACアドレス101およびそのVLANIDに基づいて、ステップS5で読み込んだ仮想NWトポロジ情報が示すトポロジでのフレームの転送経路を算出する(ステップS6)。なお、Extended VLAN Tag 104は、スイッチ3がS−TAG122と認識して制御装置2に送信した部分である。また、EoE−MACアドレス101は、スイッチ3がC−MACアドレス121と認識して制御装置2に送信した部分である。
設定部24は、ステップS6で算出されたフレームの転送経路上の各スイッチ3に対してフローエントリを設定する(ステップS7)。設定部24は、例えば、スイッチ3から受信したフレームの情報から、アドレス情報11(本例では、EoE−MACアドレス101)を包含している要素であってスイッチ3が抽出できる要素を特定する。この要素は、スイッチ3がC−MACアドレス121として認識して制御装置2に送信した部分である。また、設定部24は、スイッチ3から受信したフレームの情報から、VLAN設定用情報12(VLANID)を包含している要素であってスイッチ3が抽出できる要素を特定する。この要素は、スイッチ3がS−TAG122として認識して制御装置2に送信した部分である。設定部24は、これらの特定した要素の内容を、転送経路上の各スイッチ3で共通の条件として定めてもよい。この例では、スイッチ3がC−MACアドレス121およびS−TAG122として認識する部分の内容がフローエントリ内の条件として定められることになる。また、設定部24は、転送経路上のスイッチ3毎に、次の転送先となるスイッチ3を特定する。そして、設定部24は、特定したスイッチ3に対してフレームを転送することをアクションとして定める。設定部24は、転送経路上のスイッチ3毎に、条件とアクションの組み合わせをフローエントリとして設定する。
ステップS1でEoEフレームを受信したスイッチ3は、ステップS7で設定されたフローエントリに従って、そのフレームを転送経路上の次のスイッチ3に転送する(ステップS8)。転送経路上の各スイッチ3も、フレーエントリに従って、そのフレームを順次、転送経路上の次のスイッチ3に転送する。また、エッジノード9bに接続されているスイッチ3が転送経路の最後のスイッチ3であったとする。このスイッチ3は、そのフレーム(EoEのフレーム)をエッジノード9bに転送すればよい。
本例においても、各スイッチ3は、EoEに準拠していないが、VLAN拡張を実現しつつ、EoEのフレームを転送することができる。
実施形態2.
図8は、本発明の第2の実施形態のネットワークシステムの例を示す説明図である。第1の実施形態における要素と同様の要素については、図1と同一の符号を付し、説明を省略する。第2の実施形態では、各スイッチ3によって形成されるネットワーク1を複数のキャリアが、広域LANの提供のために用いる。すなわち、ネットワーク1は複数のキャリアによって管理される。
第2の実施形態では、制御装置2は、複数のキャリア毎に設けられる。図8に示す例では、制御装置の符号2に、キャリア毎の添え字を付して表す。制御装置2aは、第1のキャリアが所有する制御装置である。また、制御装置2bは、第2のキャリアが所有する制御装置である。以下、キャリアの数が“2”である場合を例にして説明するが、キャリアの数は限定されない。
制御装置2a,2bの構成は、第1の実施形態における制御装置2の構成(図4参照)と同様である。
また、LAN18aは、第1のキャリアからサービスを受けるユーザのLANである。LAN18bは、第2のキャリアからサービスを受けるユーザのLANである。なお、図8では、各ユーザのLANを1つずつ示しているが、第1のキャリアからサービスを受けるユーザの複数のLANがネットワーク1に接続されており、第2のキャリアからサービスを受けるユーザの複数のLANがネットワーク1に接続されている。
LAN18aのエッジノード19aおよびLAN18bのエッジノード19bは、ネットワーク1内のスイッチ3に接続される。ただし、エッジノード19a,19bは、どのキャリアからサービスを受けるユーザのエッジノードであるかに応じて定められたポートに接続される。例えば、第1のキャリアからサービスを受けるユーザのエッジノード19aは、スイッチ3のポート31に接続される。第2のキャリアからサービスを受けるユーザのエッジノード19bは、スイッチ3のポート32に接続される。なお、図8では、1つのスイッチ3に関してのみ、ポート31,32を図示しているが、各スイッチ3は第1のキャリアからサービスを受けるユーザ用のポート31と、第2のキャリアからサービスを受けるユーザ用のポート32とを有している。
以下の説明では、EoEフレームが、エッジノード19a,19bからネットワークに転送される場合を例にして説明する。本例では、VLAN拡張用情報13が、EID103(図6参照)である。
第1のキャリアの管理者は、例えば、ネットワーク1に対して8種類の仮想ネットワークを設定しておき、各仮想ネットワークの仮想NWトポロジ情報と1〜8の値とを対応付けておく。そして、管理者は、仮想NWトポロジ情報とEID103の値との対応関係を予め、制御装置2aの仮想NW情報記憶部21に記憶させておく。
同様に、第2のキャリアの管理者は、例えば、ネットワーク1に対して8種類の仮想ネットワークを設定しておき、各仮想ネットワークの仮想NWトポロジ情報と1〜8の値とを対応付けておく。そして、管理者は、仮想NWトポロジ情報とEID103の値との対応関係を予め、制御装置2bの仮想NW情報記憶部21に記憶させておく。
スイッチ3は、エッジノードからEoEのフレームを受信した場合、そのフレームをどのポートで受信したかを判定する。そして、スイッチ3は、そのフレームによって条件が満たされるフローエントリを検索する。このとき、フローエントリの検索に失敗した場合は、スイッチ3は、そのフレームの情報を、制御装置2a,2bのいずれかに送信する。このとき、スイッチ3は、フレームをどのポートで受信したかに基づいて、フレームの情報の送信先となる制御装置2を決定する。すなわち、第1のキャリアからサービスを受けるユーザ用のポート31でフレームを受信していた場合、スイッチ3は、そのフレームの情報を制御装置2aに送信する。また、第2のキャリアからサービスを受けるユーザ用のポート32でフレームを受信していた場合、そのフレームの情報を制御装置2bに送信する。
制御装置2aがスイッチ3からフレームの情報を受信した後の動作は、第1の実施形態におけるステップS4以降の動作と同様であり、説明を省略する。また、制御装置2bがスイッチ3からフレームの情報を受信した後の動作も、第1の実施形態におけるステップS4以降の動作と同様であり、説明を省略する。
第2の実施形態でも、第1の実施形態と同様の効果が得られる。また、第2の実施形態では、複数のキャリアが1つのネットワークを共用して、それぞれのキャリアのユーザに対してサービスを提供することができる。
実施形態3.
図9は、本発明の第3の実施形態のネットワークシステムの例を示す説明図である。第1の実施形態における要素と同様の要素については、図1と同一の符号を付し、説明を省略する。第3の実施形態における制御装置2cは、VLAN拡張可能な複数種類のフォーマットのフレームがネットワーク1内で転送されるように各スイッチ3を制御する。本実施形態では、説明を簡単にするため、VLAN拡張可能な2種類のフォーマットのフレームがネットワーク1内で転送される場合を例にして説明する。以下、VLAN拡張可能な2種類のフォーマットのうち、一方を第1のフォーマットと記し、もう一方を第2のフォーマットと記す。例えば、第1のフォーマットと第2のフォーマットのいずれか一方がEoEのフォーマットであり、他方がEoE以外のVLAN拡張可能なフォーマットであってもよい。また、第1のフォーマットおよび第2のフォーマットがそれぞれ、EoE以外のVLAN拡張可能なフォーマットであってもよい。
第1のフォーマットおよび第2のフォーマットは互いに異なるフォーマットであるが、いずれもアドレス情報11、VLAN設定用情報12およびVLAN拡張用情報13(図2参照)に該当する要素を含む。
LAN28aは、第1のフォーマットに準拠したLANである。LAN28bは、第2のフォーマットに準拠したLANである。なお、図9では、第1のフォーマットに準拠したLANと第2のフォーマットに準拠したLANを1つずつ示しているが、第1のフォーマットに準拠した複数のLANがネットワーク1に接続されており、第2のフォーマットに準拠した複数のLANがネットワーク1に接続されている。
LAN28aのエッジノード29aおよびLAN28bのエッジノード29bは、ネットワーク1内のスイッチ3に接続される。ただし、エッジノード29a,29bは、VLAN拡張可能なフォーマットの種類に応じて定められたポートに接続される。第1のフォーマットに準拠したLAN28aのエッジノード29aは、第1のフォーマット用のポート41に接続される。第2のフォーマットに準拠したLAN28bのエッジノード29bは、第2のフォーマット用のポート42に接続される。なお、図9では、1つのスイッチ3に関してのみ、ポート41,42を図示しているが、各スイッチ3は、エッジノードに接続されるポートとして、第1のフォーマット用のポート41と、第2のフォーマット用のポート42とを有している。
スイッチ3は、ネットワーク1に接続されるLANのエッジノードからフレームを受信し、そのフレームが条件を満たしているフローエントリの検索に失敗した場合、そのフレームを受信したポートが第1のフォーマット用のポート41であるのか第2のフォーマット用のポート42であるのかを示す情報(以下、ポート情報と記す。)も、フレームの情報とともに制御装置2cに送信する。
制御装置2cは、第1の実施形態における制御装置2の構成(図4参照)と同様である。また、第3の実施形態のネットワークシステムの管理者は、第1の実施形態と同様に、ネットワーク1に対して、複数種類の仮想ネットワークを設定しておく。ただし、第3の実施形態では、管理者は、第1のフォーマットにおけるVLAN拡張用情報13が取り得る個々の値と仮想NWトポロジ情報とを対応付けるとともに、第2のフォーマットにおけるVLAN拡張用情報13が取り得る個々の値と仮想NWトポロジ情報とを対応付ける。このとき、管理者は、第1のフォーマットにおけるVLAN拡張用情報13が取り得る値に対応付けられる仮想NWトポロジ情報と、第2のフォーマットにおけるVLAN拡張用情報13が取り得る値に対応付けられる仮想NWトポロジ情報とを、重複しないように分類しておく。そして、本実施形態における仮想NW情報記憶部21は、第1のフォーマットにおけるVLAN拡張用情報13が取り得る値と仮想NWトポロジ情報との対応関係を示す情報、および、第2のフォーマットにおけるVLAN拡張用情報13が取り得る値と仮想NWトポロジ情報との対応関係を示す情報を記憶する。管理者は予め、これらの情報を仮想NW情報記憶部21に記憶させておけばよい。
VLAN拡張用情報抽出部22、経路算出部23および設定部24は、第1の実施形態におけるVLAN拡張用情報抽出部22、経路算出部23および設定部24と同様の動作を行う。ただし、第3の実施形態におけるVLAN拡張用情報抽出部22、経路算出部23および設定部24は、ポート情報に対応したフレームのフォーマットに基づいて動作を行う。
以下、図5に示すシーケンス図を参照して、第3の実施形態における処理経過の例を説明する。エッジノードに接続されているスイッチ3は、エッジノードから第1のフォーマットまたは第2のフォーマットのフレームを受信する(ステップS1)。スイッチ3は、第1のフォーマットのフレームに関しては第1のフォーマット用のポート41で受信し、第2のフォーマットのフレームに関しては第2のフォーマット用のポート42で受信する。スイッチ3は、そのスイッチ3に設定されているフローエントリの中から、受信したフレームによって条件が満たされるフローエントリを検索する。ここでは、フローエントリの検索に失敗したものとする(ステップS2)。
フローエントリの検索に失敗した場合、スイッチ3は、受信したフレームの情報およびポート情報を制御装置2cに送信する(ステップS3)。スイッチ3は、フレームをポート41で受信した場合、第1のフォーマットにおけるアドレス情報11、VLAN設定用情報12およびVLAN拡張用情報13を含む部分であって、スイッチ3が準拠している規格に従って抽出可能な部分を制御装置2cに送信する。また、スイッチ3は、フレームをポート42で受信した場合、第2のフォーマットにおけるアドレス情報11、VLAN設定用情報12およびVLAN拡張用情報13を含む部分であって、スイッチ3が準拠している規格に従って抽出可能な部分を制御装置2cに送信する。
制御装置2cがスイッチ3から受信するフレームの情報およびポート情報は、VLAN拡張用情報抽出部22、経路算出部23および設定部24に入力される。
VLAN拡張用情報抽出部22は、スイッチ3から受信したフレームの情報の中から、VLAN拡張用情報13を抽出し、そのVLAN拡張用情報13を経路算出部23に送る(ステップS4)。ただし、ポート情報が“ポート41”を示している場合、VLAN拡張用情報抽出部22は、フレームの情報から第1のフォーマットにおけるVLAN拡張用情報13を抽出する。また、ポート情報が“ポート42”を示している場合、VLAN拡張用情報抽出部22は、フレームの情報から第2のフォーマットにおけるVLAN拡張用情報13を抽出する。そして、VLAN拡張用情報抽出部22は、抽出したVLAN拡張用情報13を経路算出部23に送る。
次に、経路算出部23は、ステップS4で得られたVLAN拡張用情報13の値に対応する仮想NWトポロジ情報を仮想NW情報記憶部21から読み込む(ステップS5)。ただし、ポート情報が“ポート41”を示している場合、経路算出部23は、第1のフォーマットにおけるVLAN拡張用情報13が取り得る値と仮想NWトポロジ情報との対応関係を示す情報に基づいて、ステップS4で得られたVLAN拡張用情報13の値に対応する仮想NWトポロジ情報を特定し、その仮想NWトポロジ情報を読み込む。また、ポート情報が“ポート42”を示している場合、経路算出部23は、第2のフォーマットにおけるVLAN拡張用情報13が取り得る値と仮想NWトポロジ情報との対応関係を示す情報に基づいて、ステップS4で得られたVLAN拡張用情報13の値に対応する仮想NWトポロジ情報を特定し、その仮想NWトポロジ情報を読み込む。
経路算出部23は、スイッチ3から受信したフレームの情報の中からアドレス情報11およびVLAN設定用情報12を抽出し、アドレス情報11およびVLAN設定用情報12に基づいて、ステップS5で読み込んだ仮想NWトポロジ情報が示すトポロジでのフレームの転送経路を算出する(ステップS6)。ただし、ポート情報が“ポート41”を示している場合、経路算出部23は、フレームの情報から第1のフォーマットにおけるアドレス情報11およびVLAN設定用情報12を抽出する。また、ポート情報が“ポート42”を示している場合、経路算出部23は、フレームの情報から第2のフォーマットにおけるアドレス情報11およびVLAN設定用情報12を抽出する。
設定部24は、ステップS6で算出されたフレームの転送経路上の各スイッチ3に対してフローエントリを設定する(ステップS7)。
ポート情報が“ポート41”を示している場合、設定部24は、例えば、スイッチ3から受信したフレームの情報から、第1のフォーマットにおけるアドレス情報11を包含する要素であってスイッチ3が抽出できる要素や、第1のフォーマットにおけるVLAN設定用情報12を包含している要素であってスイッチ3が抽出できる要素を特定する。そして、設定部24は、それらの要素を、転送経路上の各スイッチ3で共通の条件として定める。また、設定部24は、転送経路上のスイッチ3毎に、次の転送先となるスイッチ3を特定する。そして、設定部24は、特定したスイッチ3に対してフレームを転送することをアクションとして定める。また、設定部24は、転送経路の最後のスイッチ3に関しては、ポート41からフレームを出力することをアクションとして定める。設定部24は、転送経路上のスイッチ3毎に、条件とアクションの組み合わせをフローエントリとして設定する。
また、ポート情報が“ポート42”を示している場合、設定部24は、例えば、スイッチ3から受信したフレームの情報から、第2のフォーマットにおけるアドレス情報11を包含する要素であってスイッチ3が抽出できる要素や、第2のフォーマットにおけるVLAN設定用情報12を包含している要素であってスイッチ3が抽出できる要素を特定する。そして、設定部24は、それらの要素を、転送経路上の各スイッチ3で共通の条件として定める。また、設定部24は、転送経路上のスイッチ3毎に、次の転送先となるスイッチ3を特定する。そして、設定部24は、特定したスイッチ3に対してフレームを転送することをアクションとして定める。また、設定部24は、転送経路の最後のスイッチ3に関しては、ポート42からフレームを出力することをアクションとして定める。設定部24は、転送経路上のスイッチ3毎に、条件とアクションの組み合わせをフローエントリとして設定する。
ステップS1でエッジノードからフレームを受信したスイッチ3は、ステップS7で設定されたフローエントリに従って、そのフレームを転送経路上の次のスイッチ3に転送する(ステップS8)。転送経路上の各スイッチ3も、フレーエントリに従って、そのフレームを順次、転送する。
第3の実施形態でも、第1の実施形態と同様の効果が得られる。また、第3の実施形態では、ネットワーク1内でVLAN拡張可能な複数種類のフォーマットのフレームを転送することができる。
上記の第3の実施形態では、制御装置2cが、第1のフォーマットに対応した動作と、第2のフォーマットに対応した動作とを行う場合を示したが、第3の実施形態において、第1のフォーマットに対応した動作を行う制御装置と、第2のフォーマットに対応した動作を行う制御装置とを別々に設ける構成であってもよい。
次に、本発明の概要について説明する。図10は、本発明のネットワークシステムの概要を示すブロック図である。図11は、本発明の制御装置の概要を示すブロック図である。図10および図11において共通の要素には、共通の符号を付している。
本発明のネットワークシステムは、フレームを転送するフレーム転送装置80(例えば、スイッチ3)と、フレーム転送装置80を制御する制御装置90(例えば、制御装置2)とを備える。
フレーム転送装置80は、外部のネットワークから受信した仮想LANの拡張を行うフォーマットのフレーム内における、仮想LANの拡張に用いる仮想LAN拡張用情報(例えば、EoEにおけるEID103)を含む部分(例えば、スイッチ3がC−TAG123として認識する部分)を制御装置90に送信する。
制御装置90は、仮想LAN拡張用情報抽出手段92と、経路算出手段93と、設定手段94とを備える。
仮想LAN拡張用情報抽出手段92(例えば、VLAN拡張用情報抽出部22)は、フレーム転送装置80から受信した情報から仮想LAN拡張用情報を抽出する。
経路算出手段93(例えば、経路算出部23)は、仮想LAN拡張用情報抽出手段92によって抽出された仮想LAN拡張用情報の値に対応する仮想ネットワークでの転送経路を算出する。
設定手段94(例えば、設定部24)は、転送経路上の各フレーム転送装置80に対して、転送経路に沿ってフレームを転送させる設定を行う。
そのような構成によって、仮想LANの拡張を可能とするフォーマットのフレームを、そのフレームの通信規格とは異なる通信規格に準拠したネットワーク内で、仮想LANの拡張を実現しつつ、転送することができる。
仮想LANの拡張を可能とするフォーマットは、イーサネットオーバイーサネットのフォーマットであってもよい。
制御装置90を複数備え、フレーム転送装置80が、仮想LANの拡張を行うフォーマットのフレームを受信したポートに応じて、制御装置90に対して、仮想LANの拡張に用いる仮想LAN拡張用情報を含むフレーム内の部分を送信する構成であってもよい。
フレーム転送装置80が、仮想LANの拡張を行うフォーマットの種類毎に異なるポートで受信した仮想LANの拡張を行うフレーム内における、仮想LANの拡張に用いる仮想LAN拡張用情報を含む部分と、フレームを受信したポートを示すポート情報とを制御装置90に送信し、仮想LAN拡張用情報抽出手段92が、フレーム転送装置80から受信した情報から、ポート情報に対応するフォーマットにおける仮想LAN拡張用情報を抽出し、経路算出手段93が、仮想LAN拡張用情報の値と仮想ネットワークとの対応関係を示す情報に基づいて、仮想LAN拡張用情報の値に対応する仮想ネットワークでの転送経路を算出する構成であってもよい。
仮想LANの拡張を可能とするフォーマットのうちの1つは、イーサネットオーバイーサネットのフォーマットであってもよい。
また、本発明によるネットワークシステムは、以下のような構成であってもよい。本発明のネットワークシステムは、第一のネットワークと、前記第一のネットワークとは異なる通信方式でフレームを処理する第二のネットワークを含んでいてもよい。そして、ネットワークシステムは、第二のネットワークを構成する複数のフレーム転送装置(例えば、スイッチ3)を制御可能な制御装置(例えば、制御装置2)を含んでいてもよい。図12は、制御装置の概要を示すブロック図である。制御装置は、第一の手段201と、第二の手段202とを備える。
第一の手段201(例えば、経路算出部23)は、第一のネットワークで設定された第一の仮想ネットワークのフレーム情報に基づいて、第二のネットワークで設定された第二の仮想ネットワークにおける転送経路を決定する。
第二の手段202(例えば、設定部24)は、転送経路に応じて、フレームを転送させる指示をフレーム転送装置に対して行う。
第一の手段201は、第一のネットワークの種別に応じて、第二の仮想ネットワークにおける転送経路を決定してもよい。
また、図13は、本発明のフレーム転送装置の概要を示すブロック図である。本発明によるフレーム転送装置(例えば、スイッチ3)は、送信手段301と、転送手段302とを備える。
送信手段301は、外部のネットワークから受信した仮想LANの拡張を行うフォーマットのフレーム内における、仮想LANの拡張に用いる仮想LAN拡張用情報を含む部分を制御装置(例えば、制御装置2)に送信する。
転送手段302は、制御装置によって算出された、仮想LAN拡張情報の値に対応する仮想ネットワークでの転送経路に基づいて、フレームを転送する。
上記の実施形態の一部または全部は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
(付記1)フレームを転送する複数のフレーム転送装置と、前記複数のフレーム転送装置を制御する制御装置とを備え、前記フレーム転送装置は、外部のネットワークから仮想LANの拡張を可能とするフォーマットのフレームを受信し、仮想LANの拡張のために用いられる情報である仮想LAN拡張用情報を含み当該フレーム転送装置が抽出可能な前記フレーム内の部分を前記制御装置に送信し、前記制御装置は、前記仮想LAN拡張用情報の値と、前記フレーム転送装置を用いて設定された仮想ネットワークのトポロジ情報との対応関係を示す情報を予め記憶する仮想ネットワーク情報記憶手段と、前記フレーム転送装置から受信した情報から前記仮想LAN拡張用情報を抽出する仮想LAN拡張用情報抽出手段と、前記仮想LAN拡張用情報抽出手段によって抽出された前記仮想LAN拡張用情報の値に対応する仮想ネットワークのトポロジ情報を仮想ネットワーク情報記憶手段から読み込み、前記トポロジ情報が示すトポロジでの前記フレームの転送経路を算出する経路算出手段と、前記転送経路上の各フレーム転送装置に対して、前記転送経路に沿って前記フレームを転送させる設定を行う設定手段とを含むことを特徴とするネットワークシステム。
(付記2)仮想LANの拡張を可能とするフォーマットは、イーサネットオーバイーサネットのフォーマットである付記1に記載のネットワークシステム。
(付記3)制御装置を複数備え、フレーム転送装置は、仮想LANの拡張を可能とするフォーマットのフレームを受信したポートに応じた制御装置に対して、仮想LAN拡張用情報を含み当該フレーム転送装置が抽出可能な前記フレーム内の部分を送信する付記1または付記2に記載のネットワークシステム。
(付記4)フレーム転送装置は、仮想LANの拡張を可能とするフォーマットの種類毎に異なるポートで仮想LANの拡張を可能とするフォーマットのフレームを受信し、フレームを受信したポートを示すポート情報と、仮想LAN拡張用情報を含み当該フレーム転送装置が抽出可能なフレーム内の部分とを制御装置に送信し、仮想ネットワーク情報記憶手段は、仮想LANの拡張を可能とするフォーマットの種類毎に、前記仮想LAN拡張用情報の値と、仮想ネットワークのトポロジ情報との対応関係を示す情報を記憶し、仮想LAN拡張用情報抽出手段は、前記フレーム転送装置から受信した情報から、ポート情報に対応するフォーマットにおける前記仮想LAN拡張用情報を抽出し、経路算出手段は、ポート情報に対応するフォーマットの種類における前記仮想LAN拡張用情報の値と仮想ネットワークのトポロジ情報との対応関係を示す情報に基づいて、前記仮想LAN拡張用情報抽出手段によって抽出された前記仮想LAN拡張用情報の値に対応する仮想ネットワークのトポロジ情報を前記仮想ネットワーク情報記憶手段から読み込む付記1に記載のネットワークシステム。
(付記5)仮想LANの拡張を可能とするフォーマットのうちの1つは、イーサネットオーバイーサネットのフォーマットである付記4に記載のネットワークシステム。
(付記6)外部のネットワークから仮想LANの拡張を可能とするフォーマットのフレームを受信するフレーム転送装置から、仮想LANの拡張のために用いられる情報である仮想LAN拡張用情報を含み前記フレーム転送装置が抽出可能な前記フレーム内の部分を受信する制御装置であって、前記仮想LAN拡張用情報の値と、前記フレーム転送装置を用いて設定された仮想ネットワークのトポロジ情報との対応関係を示す情報を予め記憶する仮想ネットワーク情報記憶手段と、前記フレーム転送装置から受信した情報から前記仮想LAN拡張用情報を抽出する仮想LAN拡張用情報抽出手段と、前記仮想LAN拡張用情報抽出手段によって抽出された前記仮想LAN拡張用情報の値に対応する仮想ネットワークのトポロジ情報を仮想ネットワーク情報記憶手段から読み込み、前記トポロジ情報が示すトポロジでの前記フレームの転送経路を算出する経路算出手段と、前記転送経路上の各フレーム転送装置に対して、前記転送経路に沿って前記フレームを転送させる設定を行う設定手段とを備えることを特徴とする制御装置。
(付記7)フレームを転送する複数のフレーム転送装置と、前記複数のフレーム転送装置を制御する制御装置とを備えるネットワークシステムに適用されるネットワーク制御方法であって、前記フレーム転送装置が、外部のネットワークから仮想LANの拡張を可能とするフォーマットのフレームを受信し、仮想LANの拡張のために用いられる情報である仮想LAN拡張用情報を含み当該フレーム転送装置が抽出可能な前記フレーム内の部分を前記制御装置に送信し、前記制御装置が、前記仮想LAN拡張用情報の値と、前記フレーム転送装置を用いて設定された仮想ネットワークのトポロジ情報との対応関係を示す情報を予め記憶し、前記フレーム転送装置から受信した情報から前記仮想LAN拡張用情報を抽出し、抽出した前記仮想LAN拡張用情報の値に対応する仮想ネットワークのトポロジ情報を読み込み、前記トポロジ情報が示すトポロジでの前記フレームの転送経路を算出し、前記転送経路上の各フレーム転送装置に対して、前記転送経路に沿って前記フレームを転送させる設定を行うことを特徴とするネットワーク制御方法。
(付記8)外部のネットワークから仮想LANの拡張を可能とするフォーマットのフレームを受信するフレーム転送装置から、仮想LANの拡張のために用いられる情報である仮想LAN拡張用情報を含み前記フレーム転送装置が抽出可能な前記フレーム内の部分を受信するコンピュータであって、前記仮想LAN拡張用情報の値と前記フレーム転送装置を用いて設定された仮想ネットワークのトポロジ情報との対応関係を示す情報を予め記憶する仮想ネットワーク情報記憶手段を備えるコンピュータに搭載されるネットワーク制御プログラムにおいて、前記コンピュータに、前記フレーム転送装置から受信した情報から前記仮想LAN拡張用情報を抽出する仮想LAN拡張用情報抽出処理、前記仮想LAN拡張用情報抽出処理で抽出された前記仮想LAN拡張用情報の値に対応する仮想ネットワークのトポロジ情報を仮想ネットワーク情報記憶手段から読み込み、前記トポロジ情報が示すトポロジでの前記フレームの転送経路を算出する経路算出処理、および、前記転送経路上の各フレーム転送装置に対して、前記転送経路に沿って前記フレームを転送させる設定を行う設定処理を実行させるためのネットワーク制御プログラム。