JP2014007681A - ネットワークシステム、および、その管理装置、そのスイッチ - Google Patents
ネットワークシステム、および、その管理装置、そのスイッチ Download PDFInfo
- Publication number
- JP2014007681A JP2014007681A JP2012143684A JP2012143684A JP2014007681A JP 2014007681 A JP2014007681 A JP 2014007681A JP 2012143684 A JP2012143684 A JP 2012143684A JP 2012143684 A JP2012143684 A JP 2012143684A JP 2014007681 A JP2014007681 A JP 2014007681A
- Authority
- JP
- Japan
- Prior art keywords
- multicast
- switch
- virtual
- packet
- multicast tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】仮想化環境において大規模ネットワーク論理分割技術によって多数の論理的なネットワークを構築し、経路障害が発生した際や仮想サーバが物理サーバを移動する際に通信を継続可能とする。
【解決手段】上記実現のため、仮想スイッチとネットワーク装置の接続を管理するシステム構成情報管理部と、仮想サーバの通信がマルチキャスト通信に変換される際に宛先アドレスとして使用されるマルチキャストアドレスを管理するサーバ情報管理部と、複数の物理経路上にマルチキャストパケットの転送経路を計算するマルチキャストツリー管理部と、仮想スイッチやネットワーク装置に、マルチキャストツリー管理部が計算したマルチキャストパケットの転送経路を通知することで、マルチキャストパケットの転送経路を制御するスイッチ制御部と、を備える管理装置を提供する。
【選択図】図1
【解決手段】上記実現のため、仮想スイッチとネットワーク装置の接続を管理するシステム構成情報管理部と、仮想サーバの通信がマルチキャスト通信に変換される際に宛先アドレスとして使用されるマルチキャストアドレスを管理するサーバ情報管理部と、複数の物理経路上にマルチキャストパケットの転送経路を計算するマルチキャストツリー管理部と、仮想スイッチやネットワーク装置に、マルチキャストツリー管理部が計算したマルチキャストパケットの転送経路を通知することで、マルチキャストパケットの転送経路を制御するスイッチ制御部と、を備える管理装置を提供する。
【選択図】図1
Description
本明細書で開示される主題は、ネットワークシステムにおける集中管理型のマルチキャストツリー管理技術に関する。
近年、コンピュータリソースの仮想化技術によって、一つの物理サーバ上で複数の仮想サーバを実行することが可能となっている。データセンタでは、多数の仮想サーバを実行することで、多数の顧客システムすなわちテナントを同一インフラに収容している。各テナントはネットワークリソースを共用しているが、例えばデータパケットの不正傍受防止を目的として、テナント毎にネットワークを論理的に分割することが望ましい。
非特許文献1に約1600万の論理的なネットワークが構築可能な大規模ネットワーク論理分割技術が記載されている。非特許文献1に記載の技術によれば、各物理サーバ内の仮想スイッチ等に仮想ネットワーク終端部を設け、仮想ネットワーク終端部がMAC(Media Access Control)フレームをUDP/IP(User Datagram Protocol/Internet Protocol)パケットでカプセル化し、カプセル化したパケットを宛先仮想サーバが属する仮想ネットワーク終端部(宛先仮想ネットワーク終端部)に送信する。カプセル化の際、テナントを特定する識別子(テナント識別子)がパケット内に追加される。パケットを受信した宛先仮想ネットワーク終端部が、テナント識別子と被カプセル化MACフレームの宛先アドレスの組み合わせを検証しフィルタリングすることで、テナント毎のネットワークを論理的に分割する。また、マルチキャストフレーム及びブロードキャストフレームは、仮想ネットワーク終端部でマルチキャストパケットにカプセル化される。仮想ネットワーク終端部間でマルチキャスト通信を用いることで、送信元仮想サーバと同一テナントの仮想サーバを有する仮想ネットワーク終端部にのみデータを送信し、テナント毎のネットワーク論理分割を実現している。
マルチキャスト通信とは特定の複数モジュールに同一のデータパケットを一斉送信する技術である。各スイッチやルータにおいてマルチキャストアドレス毎に転送すべきポートを定めることで、ネットワーク上にマルチキャストパケットの転送経路すなわちマルチキャストツリーが構築される。マルチキャストツリーを制御する方式の一つとして、IGMP(Internet Group Management Protocol)やIGMP Snoopingが知られている。IGMP及びIGMP Snoopingによれば、スイッチまたはルータによる問い合わせパケットや、マルチキャストパケットの受信モジュールによるマルチキャストツリーへの参加要求パケットのやり取りにより、スイッチやルータが転送すべきマルチキャストアドレスと転送ポートを学習する。この学習をすべてのスイッチやルータが行うことで、ネットワーク上にマルチキャストアドレス毎のマルチキャストツリーが構築され、マルチキャストパケットの受信を希望するモジュールにのみマルチキャストパケットを転送することが可能となる。
IGMP及びIGMP Snoopingにより構築されるマルチキャストツリーは冗長構成となっていないため、経路に障害が発生した場合、新たに問い合わせパケット及び参加要求パケットをやり取りしてマルチキャストツリーを再構築する必要がある。マルチキャスト通信を利用するモジュールが多数存在する場合、ルータやスイッチが参加要求パケットを大量に処理する必要があり、処理が完了するまでの間、マルチキャストツリーが再構築されず通信障害が発生する可能性がある。
特許文献1では、複数のマルチキャストツリーを構築する技術が開示されている。特許文献1に記載の技術によれば、隣接するスイッチやルータが独自のプロトコルによって、接続している端末や現在中継しているマルチキャストパケットを互いに通知する。スイッチやルータは、通知された情報を用いて参加要求パケットを送信するスイッチまたはルータを選択する。この選択によりスイッチやルータにおけるマルチキャストパケットの転送ポートが決定し、こうしたやり取りをすべてのスイッチやルータが行うことで、ネットワーク上にマルチキャストツリーが構築される。またこのとき、参加要求パケットを拡張しマルチキャストツリーに識別子を持たせることで、同一マルチキャストアドレスに対し複数のマルチキャストツリーを構築することを可能とする。
さらに特許文献2では、マルチキャストに関するネットワークリソースを集中管理装置が管理する技術が開示されている。特許文献2に記載の技術によれば、集中管理装置がマルチキャストアドレスやマルチキャストアドレスのマルチキャストツリーを管理する。モジュールがマルチキャスト通信を開始したい場合、集中管理装置へマルチキャスト通信のセッション要求を行う。集中管理装置はセッション要求に基づき、使用するマルチキャストアドレスをモジュールに通知する。通知されるマルチキャストアドレスは、セッション要求を満たすマルチキャストツリーが既に構築されているものでも良いし、集中管理装置がセッション要求を満たすように、新たにスイッチやルータにマルチキャストパケットの転送ポートを設定し、マルチキャストツリーを構築したものでも良い。このとき、集中管理装置により構築されるマルチキャストツリーはあらかじめ非経路障害時用と経路障害時用の経路が設定されており、通常時は非経路障害時用の経路を利用し、非経路障害時用の経路に障害が発生した場合は経路障害時用の経路を利用することで冗長化が実現されている。
"A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks"、[online]、2011/8/26、[2012/5/29検索]、インターネット<URL:http://tools.ietf.org/id/draft-mahalingam-dutt-dcops-vxlan-01.txt>
"VMware vMotion for Live Migration of Virtual Machines"、[online]、[2012/6/19 検索]、インターネット<URL:http://www.vmware.com/products/vmotion/overview.html>
特許文献1に記載の技術は、マルチキャストツリーに識別子を設けることで、マルチキャストアドレス毎に複数のマルチキャストツリーを構築している。しかし、通信に用いられるマルチキャストアドレスの数が増えると、マルチキャストアドレスの数以上にマルチキャストツリーの数が増加し、スイッチやルータにおけるマルチキャストパケットの転送ポートの学習量が多くなる。スイッチやルータにおけるマルチキャストパケットの転送ポートの学習用メモリには制限があるため、利用できるマルチキャストアドレスの数が制限され、大規模ネットワーク論理分割技術において多数のテナントを収容することが困難となる。
特許文献2に記載の技術は、集中管理装置がネットワークリソースを一元管理することで、モジュールから受けたセッション要求を満たす冗長化したマルチキャストツリーが構築されたマルチキャストアドレスをモジュールに割り当てる。しかし、データセンタでは、非特許文献2のように大規模ネットワーク論理分割技術においてマルチキャスト通信を利用するきっかけとなる仮想サーバは物理サーバを移動することが可能である。特許文献2では、仮想サーバが物理サーバを移動しマルチキャスト通信を行うためには、仮想サーバの移動後に新たに集中管理装置へセッション要求を行い、マルチキャストアドレスの割り当てを待つ必要がある。この間、仮想サーバは利用可能なマルチキャストアドレスが存在しないためマルチキャスト通信が利用できず、通信障害が発生する可能性がある。
したがって、より改善されたマルチキャストツリーの管理技術が求められている。
本明細書では、以上の点が考慮され、仮想化環境において大規模ネットワーク論理分割技術によって多数の論理的なネットワークを構築することが可能で、経路障害が発生した際や仮想サーバが物理サーバを移動する際に通信を継続可能とする、集中管理型のマルチキャストツリーの管理システム及びその方法が開示される
本明細書は上記課題を解決する態様を複数含んでいるが、その一例は、複数の中継スイッチと複数の物理サーバ装置とがネットワークで接続され、物理サーバ上に、仮想サーバと、仮想サーバの通信をマルチキャスト通信に変換する機能を有する仮想スイッチと、が構成され、管理装置が、中継スイッチと物理サーバ装置とに、管理用ネットワークで接続されるネットワークシステムであって、
管理装置は、仮想スイッチと中継スイッチの接続構成、および中継スイッチ間の接続構成、および、仮想サーバと仮想スイッチとの接続構成を管理し、仮想サーバの送信フレームが仮想スイッチにおいてマルチキャストパケットに変換される際に宛先アドレスとなるマルチキャストアドレスを管理し、接続構成と、マルチキャストアドレスと、を用いて、ネットワーク上に一つのマルチキャストツリーを構築するための、複数の経路を用いる設定を求め、仮想スイッチ、および/または、中継スイッチに、求めたマルチキャストツリーを構築するための設定を通知し、中継スイッチは、管理装置からのマルチキャストツリーを構築するための設定の通知を受信し、設定指示を実行し、仮想スイッチは、管理装置からのマルチキャストツリーを構築するための設定の通知を受信し、設定指示を実行することを特徴とする。
本明細書は上記課題を解決する態様を複数含んでいるが、その一例は、複数の中継スイッチと複数の物理サーバ装置とがネットワークで接続され、物理サーバ上に、仮想サーバと、仮想サーバの通信をマルチキャスト通信に変換する機能を有する仮想スイッチと、が構成され、管理装置が、中継スイッチと物理サーバ装置とに、管理用ネットワークで接続されるネットワークシステムであって、
管理装置は、仮想スイッチと中継スイッチの接続構成、および中継スイッチ間の接続構成、および、仮想サーバと仮想スイッチとの接続構成を管理し、仮想サーバの送信フレームが仮想スイッチにおいてマルチキャストパケットに変換される際に宛先アドレスとなるマルチキャストアドレスを管理し、接続構成と、マルチキャストアドレスと、を用いて、ネットワーク上に一つのマルチキャストツリーを構築するための、複数の経路を用いる設定を求め、仮想スイッチ、および/または、中継スイッチに、求めたマルチキャストツリーを構築するための設定を通知し、中継スイッチは、管理装置からのマルチキャストツリーを構築するための設定の通知を受信し、設定指示を実行し、仮想スイッチは、管理装置からのマルチキャストツリーを構築するための設定の通知を受信し、設定指示を実行することを特徴とする。
なお、上述のネットワーク上に一つのマルチキャストツリーを構築するための、複数の経路を用いる設定とは、例えば、異なるスイッチを経由する複数の設定であっても良い。 さらに、管理装置は、仮想サーバを物理サーバ上に構成する前に、仮想サーバを構成することにより新たに構築されるマルチキャストツリーを構築するための設定を求め、求めた当該設定の追加を、仮想スイッチ、および/または、中継スイッチに指示するように構成してもよい。
さらに、管理装置は、新たな中継スイッチが追加された場合に、追加された中継スイッチを経由する新たなマルチキャストツリーを構築するための設定を求め、求めた当該設定の追加を、仮想スイッチ、および/または、中継スイッチに指示するように構成してもよい。
さらに、管理装置は、求めたマルチキャストツリーを構築するための設定を仮想スイッチや中継スイッチに通知するとき、マルチキャストアドレスとマルチキャストアドレスを宛先アドレスとするマルチキャストパケットを出力するポートを指定し、中継スイッチは、管理装置からマルチキャストアドレスとマルチキャストアドレスを宛先アドレスとするマルチキャストパケットを出力するポートを通知された場合、マルチキャストアドレスを宛先アドレスとしたマルチキャストパケットを出力する際、通知されたポートから送信し、仮想スイッチは、管理装置からマルチキャストアドレスとマルチキャストアドレスを宛先アドレスとするマルチキャストパケットを出力するポートを通知された場合、マルチキャストアドレスを宛先アドレスとしたマルチキャストパケットを出力する際、通知されたポートから送信するように構成してもよい。
または、管理装置は、求めたマルチキャストツリーを構築するための設定を仮想スイッチや中継スイッチに通知するとき、マルチキャストツリー構築パケットを出力するポートを指定し、マルチキャスト通信を利用する仮想スイッチにマルチキャストツリー構築パケットの送信を指示し、中継スイッチは、管理装置からマルチキャストツリー構築パケットを出力するポートを通知された場合、受信したマルチキャストツリー構築パケットを転送する際は、通知されたポートから送信し、仮想スイッチは、管理装置からマルチキャストツリー構築パケットを出力するポートを通知された場合、受信したマルチキャストツリー構築パケットを転送する際は、通知されたポートから送信し、管理装置から、マルチキャストツリー構築パケットの送信を指示された場合、マルチキャストツリー構築パケットを生成し、通知されたポートから送信するように構成してもよい。
さらに、中継スイッチは、管理装置から、マルチキャストツリー構築パケットの送信を指示された場合、マルチキャストツリー構築パケットを生成し、通知されたポートから送信するように構成してもよい。
上記態様によれば、例えば、経路の障害発生時やマルチキャスト通信を行う仮想サーバが別の物理サーバに移動した際に、マルチキャストツリーを再構築することなく通信を行うことができる。
開示によれば、多数の論理的なネットワークを構築することが可能であり、通信障害がより起こりにくいマルチキャストツリーの管理技術を提供可能になる。
上記以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。
以降、実施形態を、図を参照して詳細に説明する。なお、以下の説明は一例であり、実施例の構成に限られるものではない。
図1〜図16を参照して第1の実施形態を説明する。
図1は、全体として第1の実施形態によるネットワークシステム10Aを示す。
本実施形態では、ネットワークシステム10Aを管理装置100と中継スイッチ200a〜中継スイッチ200eと物理サーバ300a〜物理サーバ300dにより構成する。以下、中継スイッチ200a〜中継スイッチ200eを特に区別しない場合は中継スイッチ200、物理サーバ300a〜物理サーバ300dを特に区別しない場合は物理サーバ300という。
管理装置100は、例えば、物理的なコンピュータハードウェアである計算機上に実現される。管理ネットワーク20により、中継スイッチ200a〜中継スイッチ200eおよび物理サーバ300a〜物理サーバ300dと接続しており、例えば中継スイッチ200のネットワーク設定を変更したり、物理サーバ300における仮想サーバの移動を指示したりする。
中継スイッチ200は、例えばレイヤ2スイッチやレイヤ3スイッチである。中継スイッチ200a、200bは、中継スイッチ200c、200dと、フレームやパケットの送受信に用いるネットワークで接続され、中継スイッチ200c、200dは、物理サーバ300a〜物理サーバ300dと、同じくフレームやパケットの送受信に用いるネットワークで接続されており、各中継スイッチ200は受信したフレームやパケットをその転送経路を判断して送信する。中継スイッチ200のP1〜P4は物理的なあるいは論理的な通信ポートを示す。
また本実施例では、中継スイッチ200eは、物理サーバ300dの通信に関して大規模ネットワーク論理分割技術における仮想ネットワーク終端部の機能を果たす。仮想ネットワーク終端部の機能を果たす中継スイッチ200eは、物理サーバ300dから受信したマルチキャストフレーム及びブロードキャストフレームを、あらかじめ登録されたサーバIDとテナントIDとマルチキャストアドレスを対応付けたテーブル(不図示)を元に、マルチキャストパケットにカプセル化して中継スイッチ200dに転送する。
物理サーバ300a、物理サーバ300cはそれぞれ、仮想スイッチ400aと仮想サーバ500aと仮想サーバ500b、仮想スイッチ400cと仮想サーバ500cを備える。物理サーバ300bは、仮想スイッチ400bを備える。物理サーバ300dは、仮想スイッチや仮想サーバを配備しておらず、テナントBにより利用されている物理サーバとする。以下、仮想スイッチ400a〜仮想スイッチ400cを特に区別しない場合は仮想スイッチ400、仮想サーバ500a〜仮想サーバ500cを特に区別しない場合は、仮想サーバ500という。物理サーバ300は、例えば物理的なコンピュータハードウェアである計算機上に実現される。物理サーバ300は、管理装置100及び中継スイッチ200と接続され、中継スイッチ200やデータ転送用ネットワーク50を介して相互に通信可能である。
仮想スイッチ400は、物理サーバ300上でプログラムが実行されることにより実現されるもので、例えば中継スイッチと同様に振舞う。仮想スイッチ400は、仮想サーバ500や例えば物理サーバ300の物理NICを介して中継スイッチ200と接続しており、受信したフレームやパケットの転送経路を判断して送信する。仮想スイッチ400のvP1〜vP3は論理的なポートを示す。また本実施例では、仮想スイッチ400は仮想サーバ500の通信に関して大規模ネットワーク論理分割技術における仮想ネットワーク終端部の機能を果たす。仮想ネットワーク終端部の機能を果たす仮想スイッチ400は、仮想サーバ500から受信したマルチキャストフレーム及びブロードキャストフレームを、あらかじめ登録された仮想サーバIDとテナントIDとマルチキャストアドレスを対応付けたテーブル(不図示)を元に、マルチキャストパケットにカプセル化して中継スイッチ200に転送する。
仮想サーバ500は、物理サーバ300上でプログラムが実行されることにより実現されるもので、例えば計算機と同様に振舞う。仮想サーバ500上には任意のオペレーティングシステムやアプリケーションプログラムなどが動作している。仮想サーバ500a、仮想サーバ500b、仮想サーバ500cはそれぞれ、テナントA、テナントB、テナントAにより利用される仮想サーバとする。
図1の管理ネットワーク20は、管理装置100と中継スイッチ200、物理サーバ300を接続するネットワークである。例えば、管理装置100が中継スイッチ200や仮想スイッチ400にマルチキャストツリー構築に関する指示を通知するためのマルチキャストツリー設定パケット1やマルチキャストツリー構築パケット転送経路設定パケット2やマルチキャストツリー構築パケット送信指示パケット3を管理ネットワーク20により送信する。
図1の矢印30は、仮想サーバ500aが、物理サーバ300aから物理サーバ300bに移動することを示している。
図1のマルチキャストツリー40は、仮想サーバ500aが物理サーバ300aから物理サーバ300bに移動する直前における、仮想ネットワーク終端部間のテナントAのマルチキャストツリーを示している。
例えば、物理サーバ300aに仮想サーバ500aが存在するとき、仮想サーバ500cがテナントAの仮想サーバ500にブロードキャストフレームを送信すると、当該フレームは仮想スイッチ400cに送信され、仮想スイッチ400cの仮想ネットワーク終端部機能によりテナントAに対応するマルチキャストアドレスを宛先とするマルチキャストパケットにカプセル化される。当該パケットは仮想スイッチ400cから中継スイッチ200dに送信される。
中継スイッチ200dでは、中継スイッチ200cまでのマルチキャストパケット転送ポートとして、通信ポートP1と通信ポートP2の2つが存在するが、例えばECMP(Equal Cost Multi Path)技術といったスイッチの転送機能によって当該パケットを送信する転送ポートを選択する。なお、このときすべての転送ポートを選択しても良い。ここでは、中継スイッチ200dから中継スイッチ200aへ当該パケットを転送するとし、当該パケットは中継スイッチ200dから中継スイッチ200aを経由し中継スイッチ200cへ送信される。
中継スイッチ200cは仮想スイッチ400aと仮想スイッチ400bへ当該パケットを転送する。仮想スイッチ400aは、仮想ネットワーク終端部機能によって、配下に転送すべきテナントAの仮想サーバ500が存在するか否か判断し、肯定結果を受け当該パケットをデカプセル化し、仮想サーバ500aに仮想サーバ500cが送信したブロードキャストフレームを送信する。仮想スイッチ400bは、仮想ネットワーク終端部機能によって配下に転送すべきテナントAの仮想サーバ500が存在するか否か判断し、否定判断を受け当該パケットを破棄する。
図1のデータ転送用ネットワーク50は、中継スイッチ200間、および、中継スイッチ200と物理サーバ300と、を接続するネットワークである。例えば、物理サーバ300や仮想サーバ500が送信したデータフレームやデータパケットは、データ転送用ネットワーク50により、他の物理サーバ300や仮想サーバ500に転送される。
本実施形態では、管理装置100が中継スイッチ200および物理サーバ300と、中継スイッチ200と物理サーバ300が直接接続しているが、スイッチやリピーターが介在していてもよい。
また、図1のネットワークシステムの装置構成数や装置間の接続リンク数は、あくまで一例であり、この構成に限定されず様々な数の装置や接続を用いてもよい。
以下、中継スイッチ200と仮想スイッチ400を特に区別しない場合は単に、スイッチという。また、物理サーバ300と仮想サーバ500を計算機として特に区別しない場合は単に、サーバという。
図2は、管理装置100の機能構成を示した図である。管理装置100は、例えば、入力部110と、出力部120と、演算部130と、ネットワークインターフェース140と、記憶部150を備える。
入力部110は、例えばキーボードやマウスといった装置により入力されるユーザの入力情報を演算部130に送る。
出力部120は、例えばディスプレイといった装置に、ユーザからの入力に対する出力情報を通知する。
演算部130は、記憶部150に記憶されているオペレーティングシステムや、以下に説明する処理部を実現するプログラムなどを実行する。
ネットワークインターフェース140は、例えばNIC(Network interface Card)のような装置で構成され、他の機器と接続する。
記憶部150は、例えばフラッシュメモリ、HDD(Hard Disc Drive)のような記憶装置であり、オペレーティングシステム(不図示)、システム構成情報管理部151、サーバ情報管理部152、マルチキャストツリー管理部153、スイッチ制御部154などの各処理部を実現するプログラム、システム構成情報管理テーブル155、サーバ情報管理テーブル156、マルチキャストツリー構成管理テーブル157を記憶する。
システム構成情報管理部151は、例えば、中継スイッチ200や物理サーバ300や仮想スイッチ400や仮想サーバ500の追加、または、削除、または、移動を決定し、中継スイッチ200や仮想スイッチ400の接続構成を、図5に示すシステム構成情報管理テーブル155に格納し、管理する。中継スイッチ200や物理サーバ300や仮想スイッチ400や仮想サーバ500の追加、または、削除、または、移動は、各装置を管理する他の管理システム(不図示)により決定されても良く、このときシステム構成情報管理部151は他の管理システムと連携して各装置の追加、または、削除、または、移動を検知し、中継スイッチ200や仮想スイッチ400の接続構成をシステム構成情報管理テーブル155に格納する。
サーバ情報管理部152は、サーバに対応するテナントIDと、仮想ネットワーク終端部(不図示)において当該サーバが送信するマルチキャストフレーム及びブロードキャストフレームがカプセル化される際に宛先アドレスとなるマルチキャストアドレスと、仮想ネットワーク終端部機能を果たすスイッチと、を決定し、図6に示すサーバ情報管理テーブル156に格納し、管理する。
ただし、サーバに対応するテナントIDや、当該サーバの送信フレームがカプセル化される際に宛先アドレスとなるマルチキャストアドレスや、仮想ネットワーク終端部機能を果たすスイッチは、他の管理システム(不図示)によって決定されても良く、このときサーバ情報管理部152は他の管理システムと連携してサーバに対応するテナントIDと、マルチキャストアドレスと、仮想ネットワーク終端部機能を果たすスイッチと、を管理し、サーバ情報管理テーブル156に格納する。
マルチキャストツリー管理部153は、システム構成情報管理テーブル155に格納された中継スイッチ200や仮想スイッチ400の接続構成と、サーバ情報管理テーブル156に格納されているサーバのテナントIDと仮想ネットワーク終端部機能を果たすスイッチと、を用いて、テナント毎のマルチキャストツリー(すなわち、マルチキャストパケットの転送経路)の構築に必要な設定内容を求める。具体的には、例えば、マルチキャストアドレスに対する中継スイッチ200や仮想スイッチ400のマルチキャストパケットの転送ポートを求め、図7に示すマルチキャストツリー構成管理テーブル157に格納する。
スイッチ制御部154は、中継スイッチ200や仮想スイッチ400に、マルチキャストツリーの構築に関する設定の指示を、例えばマルチキャストツリー設定パケット1によって通知する。
システム構成情報管理テーブル155は、ネットワークシステム10Aを構成するすべての中継スイッチ200、仮想スイッチ400について、接続ポート及び当該接続ポートで接続する装置を格納する。
サーバ情報管理テーブル156は、各サーバについて、テナントID及びカプセル化の際宛先アドレスとなるマルチキャストアドレス及び仮想ネットワーク終端部機能を果たすスイッチを格納する。
マルチキャストツリー構成管理テーブル157は、ネットワークシステム10A上に構築されているマルチキャストツリーを管理するため、マルチキャストアドレスとそのマルチキャストアドレスを宛先とするマルチキャストパケットを転送する中継スイッチ200や仮想スイッチ400、及びその転送ポートを格納する。
図3は、中継スイッチ200の機能構成を示した図である。中継スイッチ200は、例えば、入力部210と、出力部220と、演算部230と、スイッチング部240と、通信ポート250−1〜250−nと記憶部260を備える。以下、通信ポート250−1〜250−nを特に区別しない場合は、通信ポート250という。
入力部210は、例えばキーボードやマウスといった入力装置により入力されるユーザの入力情報を演算部230に送る。
出力部220は、例えばディスプレイといった出力装置にユーザからの入力に対する出力情報を通知する。
演算部230は、記憶部260に記憶されているオペレーティングシステムや、以下に説明する処理部を実現するプログラムなどを実行する。
スイッチング部240は、例えば、通信ポート250からフレームやパケットを受信したり、通信ポート250へフレームやパケットを送信したり、フレームやパケットを破棄するなど、パケットの送受信等を制御する。
通信ポート250は、他の機器と通信を行うための接続インターフェースである。
記憶部260は、例えばオペレーティングシステム(不図示)と、通信制御部261、管理装置連携部263などの各処理部を実現するプログラムと、フォワーディングテーブル262、マルチキャストパケット転送経路テーブル264を記憶する。
通信制御部261は、例えば、受信したパケットに格納される宛先アドレスがフォワーディングテーブル262に登録されていない場合、フォワーディングテーブル262に、当該パケットを受信したポート及び当該パケットの宛先アドレスとなるMACアドレスやIPアドレスを登録する。また、例えば、受信したフレームのカプセル化やデカプセル化を行い、大規模ネットワーク論理分割技術における仮想ネットワーク終端部の機能を果たす。
フォワーディングテーブル262(詳細内容は不図示)は、例えば宛先アドレス(例えばMACアドレスやIPアドレス)に基づいたフレームやパケットの転送ポート情報等が記録される。
管理装置連携部263は、管理装置100のスイッチ制御部154から送信されたマルチキャストツリー構築に関する通知を受信して通知における指示を実行する。例えばマルチキャストツリー設定パケット1によって通知されるマルチキャストアドレスに対する転送ポートをマルチキャストパケット転送経路テーブル264に格納する。
マルチキャストパケット転送経路テーブル264は、マルチキャストアドレスに対する転送ポートを格納する。
図4は、物理サーバ300を示した図である。物理サーバ300は、例えば、入力部310と、出力部320と、演算部330と、ネットワークインターフェース340と、記憶部350を備える。
入力部310は、例えばキーボードやマウスといった装置により入力されるユーザの入力情報を演算部330に送る。
出力部320は、例えばディスプレイといった装置に、ユーザからの入力に対する出力情報を通知する。
演算部330は、記憶部350に記憶されているオペレーティングシステムなどを実行し、各処理部、仮想スイッチ400、仮想サーバ500を動作させる。
ネットワークインターフェース340は、例えばNICのような装置で構成され、他の機器と接続する。
記憶部350は、例えばフラッシュメモリ、HDDのような記憶装置であり、例えばオペレーティングシステム(不図示)、仮想スイッチ400、仮想サーバ500を記憶する。
仮想スイッチ400は、例えば通信制御部410、フォワーディングテーブル420、仮想通信ポート430a〜仮想通信ポート430n、管理装置連携部440、マルチキャストパケット転送経路テーブル450を備える。以下、各々の仮想通信ポートを特に区別しない場合は、仮想通信ポート430という。
通信制御部410は、例えば、ネットワークインターフェース340からフレームやパケットを受信したり、ネットワークインターフェース340へフレームやパケットを送信したり、フレームやパケットを破棄するなど、パケットの送受信等を制御する。また、例えば受信したパケットに格納される宛先アドレスがフォワーディングテーブル420に登録されていない場合、フォワーディングテーブル420に、当該パケットを受信したポート及び当該パケットの宛先アドレスとなるMACアドレスやIPアドレスを登録する。また、例えば、受信したフレームのカプセル化やデカプセル化を行い、大規模ネットワーク論理分割技術における仮想ネットワーク終端部の機能を果たす。
フォワーディングテーブル420(詳細内容は不図示)は、例えば宛先アドレス(例えばMACアドレスやIPアドレス)に基づいたパケットの転送仮想ポート情報等が記録される。 仮想通信ポート430は、他の機器、例えばネットワークインターフェース340や仮想サーバ500と通信を行うための接続インターフェースである。
管理装置連携部440は、管理装置100のスイッチ制御部154から送信されたマルチキャストツリー構築に関する通知を受信して通知における指示を実行する。例えばマルチキャストツリー設定パケット1によって通知されるマルチキャストアドレスに対する転送ポートをマルチキャストパケット転送経路テーブル450に格納する。
マルチキャストパケット転送経路テーブル450は、マルチキャストアドレスに対する転送ポートを格納する。
仮想サーバ500は、仮想化されたコンピュータであり、例えば仮想ネットワークインターフェース510を備える。仮想サーバ500上では任意のオペレーティングシステム(不図示)やアプリケーションプログラム(不図示)などが動作する。
仮想ネットワークインターフェース510は、例えば仮想NICのような機能で構成され、仮想スイッチ400と接続する。
図5は、管理装置100に格納されているシステム構成情報管理テーブル155の一例を示す図である。
管理対象スイッチID欄155Aには管理装置100の管理対象スイッチ、例えば中継スイッチ200、仮想スイッチ400のIDが格納される。接続ポート欄155Bには管理対象スイッチの接続ポート、例えば通信ポート250や仮想通信ポート430の識別番号が格納される。接続先スイッチID欄155Cには接続ポートが接続するスイッチ、例えば中継スイッチ200、仮想スイッチ400のIDが格納される。
図5の場合、例えば中継スイッチ200aは、通信ポートP2によって中継スイッチ200cと接続していることが示されている。
図6は、管理装置100に格納されているサーバ情報管理テーブル156の一例を示す図である。
サーバID欄156Aには、管理装置100が管理しているサーバのIDが格納される。テナントID欄156Bには、サーバのテナントIDが格納される。マルチキャストアドレス欄156Cには、サーバの送信フレームが仮想ネットワーク終端部でカプセル化される際に宛先アドレスとなるマルチキャストアドレスが格納される。仮想ネットワーク終端部欄156Dには、サーバの送信フレームをカプセル化する仮想ネットワーク終端部を持つスイッチが格納される。
図6の場合、例えば仮想サーバ500aは、テナントAに属する仮想サーバであり、マルチキャストフレームやブロードキャストフレームを送信する際、仮想ネットワーク終端部である仮想スイッチ400aあるいは仮想スイッチ400bで宛先アドレスが239.1.1.1であるマルチキャストパケットにカプセル化されることが示されている。なお、仮想サーバ500aのエントリーが複数あることは、仮想サーバ500aが移動することを示す。各エントリーは、管理装置100が仮想サーバ移動時に自動で格納してもよいし、管理者が手動で格納しても良い。また、マルチキャストアドレス欄156Cに格納されるアドレスは、MACアドレスであってもよいしIPアドレスであっても良いし、その他のマルチキャストに用いられるアドレスであっても良い。
図7は、管理装置100に格納されているマルチキャストツリー構成管理テーブル157の一例を示す図である。
マルチキャストアドレス欄157Aには、仮想ネットワーク終端部でカプセル化する際に宛先アドレスとなりうるマルチキャストアドレスが格納される。スイッチID欄157Bには、マルチキャストパケットを転送する中継スイッチ200や仮想スイッチ400のIDが格納される。転送ポート欄157Cには、中継スイッチ200や仮想スイッチ400におけるマルチキャストパケットを転送するための転送ポートの識別番号、例えば通信ポート250やネットワークインターフェース340の識別番号が格納される。
図7の場合、例えばマルチキャストアドレス「239.1.1.1」のマルチキャストツリーは、中継スイッチ200aの通信ポートP2とP3、中継スイッチ200bの通信ポートP2とP3、中継スイッチ200cの通信ポートP1とP2とP3、中継スイッチ200dの通信ポートP1とP2とP3、仮想スイッチ400aの仮想通信ポートvP1、仮想スイッチ400cの仮想通信ポートvP1上に構築されていることを示す。
図8(a)は中継スイッチ200に格納されているマルチキャストパケット転送経路テーブル264を示す。
マルチキャストアドレス欄264Aには、マルチキャストアドレスが格納される。転送ポート264Bには、マルチキャストアドレス欄264Aに格納されているマルチキャストアドレスを宛先とするマルチキャストパケットを転送するポートの識別番号、例えば通信ポート250の識別番号が格納される。
例えば、図8(a)の場合、一般的なマルチキャストパケットの転送ルールに従い、マルチキャストアドレス「239.1.1.1」を宛先アドレスとするマルチキャストパケットを転送する場合、通信ポートP1とP2とP3のうち、マルチキャストパケットを受信した通信ポート以外の通信ポートから送信することを示す。
図8(b)は仮想スイッチ400に格納されているマルチキャストパケット転送経路テーブル450を示す。マルチキャストアドレス欄450Aには、マルチキャストアドレスが格納される。転送ポート450Bには、マルチキャストアドレス欄450Aに格納されているマルチキャストアドレスを宛先とするマルチキャストパケットを転送するポートの識別番号、例えば仮想通信ポート430の識別番号が格納される。
図9は、管理装置100がスイッチにマルチキャストツリーを構築するための設定を通知するパケットであるマルチキャストツリー設定パケット1の一例を示した図である。
例えば、宛先アドレスフィールド1Aにはマルチキャストツリーを設定するスイッチのMACアドレスが格納される。送信元アドレスフィールド1Bには管理装置のMACアドレスが格納される。マルチキャストツリー構築指示フィールド1Cには、「追加」や「削除」といったマルチキャストツリーの構築に関する設定の指示が格納される。転送ポート番号フィールド1Dにはマルチキャストツリー構築指示フィールド1Cに格納された指示を反映させる転送ポート番号が格納される。マルチキャストアドレスフィールド1Eにはマルチキャストツリー構築指示フィールド1Cに格納された指示を反映させるマルチキャストアドレスが格納される。
図10、図11は、第1の実施形態におけるマルチキャストツリー構築処理を示すシーケンス図である。
図10のシーケンスQ1〜シーケンスQ7は、図1のネットワークシステム10Aにおいて仮想サーバ500aが物理サーバ300aから物理サーバ300bへ移動する場合の、各スイッチにおけるマルチキャストパケット転送経路テーブル264やマルチキャストパケット転送経路テーブル450の更新から、仮想サーバ500aが移動を完了しデータ通信を開始する処理を示す。
従来環境と異なり、本実施例で前提とする大規模ネットワーク論理分割技術では、マルチキャスト通信により転送されるデータの受信者とマルチキャストツリーの末端は、例えば、それぞれサーバ、スイッチであり両者が異なる。このため、本実施例によると、以下に示す通り、仮想サーバの移動前に、移動先のスイッチにマルチキャストツリーを構築することが可能となる。
シーケンスQ1において、管理装置100は、仮想サーバ500aを物理サーバ300aから物理サーバ300cへ移動することを決定し、システム構成情報管理テーブル155及びサーバ情報管理テーブル156に新たなシステム構成情報を格納する。なお、この決定は他の管理システム(不図示)によって行われ、管理装置100のシステム構成情報管理部151に通知されても良い。
シーケンスQ2において、管理装置100は、仮想サーバ500aの送信フレームが仮想ネットワーク終端部でカプセル化される際に宛先アドレスとなるマルチキャストアドレスをサーバ情報管理テーブル156から検索する。次にシステム構成情報管理テーブル155とサーバ情報管理テーブル156を用いて、当該マルチキャストアドレスのマルチキャストツリーを、仮想ネットワーク終端部(すなわち、仮想スイッチ400や中継スイッチ200e)間を接続するネットワーク上に構成されるように計算する。
シーケンスQ3において、管理装置100は、計算したマルチキャストツリーを元に、中継スイッチ200cに、通信ポートP4を新たに当該マルチキャストアドレスの転送ポートとするよう、宛先アドレスフィールド1Aに「中継スイッチ200cのMACアドレス」、送信元アドレスフィールド1Bに「管理装置のMACアドレス」、マルチキャストツリー構築指示フィールド1Cに「追加」、転送ポート番号フィールド1Dに「P4」、マルチキャストアドレスフィールド1Eに「239.1.1.1」とするマルチキャストツリー設定パケット1を送信する。
シーケンスQ4において、管理装置100は、計算したマルチキャストツリーを元に、仮想スイッチ400bに、仮想通信ポートvP1を新たに当該マルチキャストアドレスの転送ポートとするよう、宛先アドレスフィールド1Aに「仮想スイッチ400bのMACアドレス」、送信元アドレスフィールド1Bに「管理装置のMACアドレス」、マルチキャストツリー構築指示フィールド1Cに「追加」、転送ポート番号フィールド1Dに「vP1」、マルチキャストアドレスフィールド1Eに「239.1.1.1」が格納されたマルチキャストツリー設定パケット1を送信する。
シーケンスQ5において、管理装置100は、例えば公知の技術を用いて、仮想サーバ500aを物理サーバ300bへ移動する。
シーケンスQ6において、仮想サーバ500aの物理サーバ300bへの移動が完了する。
シーケンスQ7において、仮想サーバ500aは、データフレームの送信を開始する。
なお、図10は、仮想サーバ500が物理サーバ300を移動する場合について記載しているが、仮想サーバ500が新たに物理サーバ300に追加される場合や仮想サーバ500が物理サーバ300から削除される場合も同様のシーケンス図となる。
図11のシーケンスQ11〜シーケンスQ21は、図1において、管理装置100、中継スイッチ200a、中継スイッチ200c〜中継スイッチ200e、物理サーバ300a〜300dが存在する際に中継スイッチ200bを新たに追加した場合の、各スイッチにおけるマルチキャストパケット転送経路テーブル264やマルチキャストパケット転送経路テーブル450の更新処理、及び中継スイッチ200b追加後に中継スイッチ200aに障害が起きた場合のマルチキャストパケット通信の継続処理を示す。
なお、図11では簡単のため、仮想サーバ500a(不図示)の送信フレームが仮想スイッチ400aの仮想ネットワーク終端部でマルチキャストパケットにカプセル化される際に宛先アドレスとなるマルチキャストアドレスに着目し、当該マルチキャストアドレスのマルチキャストツリーが構築されるときの中継スイッチ200a〜中継スイッチ200c及び仮想スイッチ400aにおける処理について記載する。
シーケンスQ11において、中継スイッチ200bは、例えば管理装置100の指示によって、新たに中継スイッチ200cと中継スイッチ200dと管理装置100とネットワークにより接続される。
シーケンスQ12において、中継スイッチ200bは、例えばSNMP(Simple Network Management Protocol)を用いてスイッチとの接続が完了したことを管理装置100に通知する。当該通知は、他の管理システム(不図示)から管理装置100に通知されても良い。
シーケンスQ13において、管理装置100は、仮想サーバ500aの送信フレームが仮想ネットワーク終端部でカプセル化される際に宛先アドレスとなるマルチキャストアドレスを、サーバ情報管理テーブル156を検索して取得し、当該マルチキャストアドレスのマルチキャストツリーが、中継スイッチ200bが追加された新たなネットワーク上に構成されるように計算する。
シーケンスQ14において、管理装置100は、計算したマルチキャストツリーを元に、中継スイッチ200bへ、仮想スイッチ400aが仮想ネットワーク終端部においてカプセル化される際に宛先アドレスとなるマルチキャストアドレスの転送ポートとして通信ポートP2とP3を新たに追加するよう、宛先アドレスフィールド1Aに「中継スイッチ200bのMACアドレス」、送信元アドレスフィールド1Bに「管理装置のMACアドレス」、マルチキャストツリー構築指示フィールド1Cに「追加」、転送ポート番号フィールド1Dに「P2」「P3」、マルチキャストアドレスフィールド1Eに「239.1.1.1」が格納されたマルチキャストツリー設定パケット1を送信する。
シーケンスQ15において、管理装置100は、計算したマルチキャストツリーを元に、中継スイッチ200cに、通信ポートP2を新たに当該マルチキャストアドレスの転送ポートに追加するよう、宛先アドレスフィールド1Aに「中継スイッチ200cのMACアドレス」、送信元アドレスフィールド1Bに「管理装置のMACアドレス」、マルチキャストツリー構築指示フィールド1Cに「追加」、転送ポート番号フィールド1Dに「P2」、マルチキャストアドレスフィールド1Eに「239.1.1.1」が格納されたマルチキャストツリー設定パケット1を送信する。
シーケンスQ16において、中継スイッチ200cは、受信したマルチキャストツリー設定パケット1に基づき、マルチキャストパケット転送経路テーブル264へ、当該マルチキャストアドレスの転送ポートとして既に格納されていた中継スイッチ200aへの転送ポートである通信ポートP1に加え、新たに中継スイッチ200bへの転送ポートである通信ポートP2を追加する。
シーケンスQ17において、中継スイッチ200aの通信ポートP2及び通信ポートP3に通信障害が発生する。
シーケンスQ18において、中継スイッチ200cは、例えば中継スイッチ200aと接続していた通信ポートP1から定期パケットが受信されないことを契機として中継スイッチ200aの障害を検知する。なお、中継スイッチ200aの障害は、他のネットワーク管理システム(不図示)により通知されても良い。
シーケンスQ19において、中継スイッチ200cは、マルチキャストパケット転送経路テーブル264に格納していたマルチキャストパケットの転送ポートである通信ポートP1を削除し、当該マルチキャストアドレスを宛先アドレスとするマルチキャストパケットの転送ポートを通信ポートP2に切り替える。
シーケンスQ20において、仮想スイッチ400aは、仮想サーバ500a(不図示)の送信フレームをマルチキャストパケットにカプセル化し、マルチキャストパケット転送経路テーブル450に格納されている転送ポートである仮想通信ポートvP1より中継スイッチ200cに当該マルチキャストパケットを送信する。
シーケンスQ21において、中継スイッチ200cは、マルチキャストパケット転送経路テーブル264に格納されている転送ポートである通信ポートP2から中継スイッチ200bに当該マルチキャストパケットを送信する。
なお、図11は、中継スイッチ200が新たに追加される場合について記載しているが、中継スイッチ200が削除される場合、及び仮想スイッチ400が追加、削除される場合も同様のシーケンス図となる。
図12は、図10におけるシーケンスQ2とシーケンスQ3、すなわち仮想サーバ移動時の管理装置100におけるマルチキャストツリーの計算とマルチキャストツリー設定パケット1の送信処理手順を示すフローチャートである。
ステップS1100において、管理装置100は、移動する仮想サーバ500をキーとしてマルチキャストアドレスをサーバ情報管理テーブル156から検索する。
ステップS1200において、管理装置100は、ステップS1100で検索した中で、マルチキャストツリーの構築を行うマルチキャストアドレスを一つ選択する。
ステップS1300において、管理装置100は、S1200で選択したマルチキャストアドレスのマルチキャストツリーを構築するため、システム構成情報管理テーブル155やサーバ情報管理テーブル156を用いて、各スイッチにおける当該マルチキャストアドレスを宛先アドレスとするマルチキャストパケットの転送ポートのリストを計算する。
ステップS1400において、管理装置100は、ステップS1300で計算したマルチキャストツリーを構築するスイッチの転送ポートをマルチキャストツリー構成管理テーブル157に登録し、マルチキャストツリーを構成するスイッチにマルチキャストツリー設定パケット1を送信して転送ポートを通知する。
ステップS1500において、管理装置100は、ステップS1100で検索したすべてのマルチキャストアドレスについてマルチキャストツリーを計算したか否か判断する。管理装置100は、ステップS1500の判断で否定結果を得ると、ステップS1200を繰り返し、ステップS1500の判断で肯定結果を得ると、図12の処理を終了する。
図13は、図12におけるステップS1300、すなわち管理装置におけるマルチキャストツリーを構築するための各スイッチの転送ポートの計算処理手順を示すフローチャートである。
ステップS1301において、管理装置100は、ステップS1200で選択したマルチキャストアドレスをキーとしてサーバ情報管理テーブル156から仮想ネットワーク終端部を検索する。
ステップS1302において、管理装置100は、S1301で検索した仮想ネットワーク終端部の中から、マルチキャストツリーを構築する仮想ネットワーク終端部の組み合わせを一つ選択する。
ステップS1303において、管理装置100は、選択した仮想ネットワーク終端部間のパスを、例えばシステム構成情報管理テーブル155を用いて全探索する。なお、当該パスの特定はIS−ISといったパスを計算する公知技術を用いても良い。
例えば、管理装置100は、仮想スイッチ400bと仮想スイッチ400cの間のパスについて、システム構成情報管理テーブル155に格納されているスイッチの接続構成を見て、仮想スイッチ400bの仮想通信ポートvP1と、中継スイッチ200cの通信ポートP4と通信ポートP2と、中継スイッチ200aの通信ポートP2と通信ポートP3と、中継スイッチ200dの通信ポートP1と通信ポートP3と、仮想スイッチ400cの仮想通信ポートvP1からなるパスと、仮想スイッチ400bの仮想通信ポートvP1と、中継スイッチ200cの通信ポートP4と通信ポートP2と、中継スイッチ200bの通信ポートP2と通信ポートP3と、中継スイッチ200dの通信ポートP2と通信ポートP3と、仮想スイッチ400cの仮想通信ポートvP1からなるパスを探索する。
ステップS1304において、管理装置100は、ステップS1303で特定したパスが複数あるか否か、すなわちマルチパスとなっているか否か、を判断する。管理装置100は、ステップS1304の判断で肯定結果を得るとステップS1305の処理を行い、ステップS1304の判断で否定結果を得るとステップS1306の処理を行う。
例えば、管理装置100は、移動した後の物理サーバ300b上にある仮想サーバ500aが接続する仮想スイッチ400bと仮想サーバ500cが接続する仮想スイッチ400cの間のパスについて、中継スイッチ200cと中継スイッチ200dの間で、中継スイッチ200aを経由するパスと中継スイッチ200bを経由するパスが存在しマルチパスとなっているため、ステップS1305の判断で肯定結果を得て、ステップS1306の処理を行う。
ステップS1305において、管理装置100は、経路障害が発生した場合にマルチキャストツリーを再構築することなく他のパスによって通信を継続することを可能にするため、当該マルチキャストアドレスの一つのマルチキャストツリーを、複数のパス(経路)上に、すなわち、マルチパス上に構築するよう、マルチパスを構成する中継スイッチ200の通信ポート250や仮想スイッチ400の仮想通信ポート430を転送ポートとしてリストに追加する。なお、マルチパス上にマルチキャストツリーを構築する際、すべてのマルチパス上にマルチキャストツリーを構成するよう転送ポートをリストに追加しても良いし、一部のマルチパス上にマルチキャストツリーを構成するよう転送ポートをリストに追加しても良い。
例えば、管理装置100は、移動した後の物理サーバ300b上にある仮想サーバ500aが接続する仮想スイッチ400bと仮想サーバ500cが接続する仮想スイッチ400cの間で、マルチパス上にマルチキャストツリーを構築するため、当該マルチキャストアドレスを転送するポートとして、仮想スイッチ400bの仮想通信ポートvP1と、中継スイッチ200cの通信ポートP1〜P4と、中継スイッチ200aの通信ポートP2と通信ポートP3と、中継スイッチ200bの通信ポートP2と通信ポートP3と、中継スイッチ200dの通信ポートP1〜P3と、仮想スイッチ400cの仮想通信ポートvP1をリストに追加する。ここで、仮想スイッチ400cからテナントAへのマルチキャストパケットが、仮想スイッチ400cの仮想通信ポートvP1を経由し、中継スイッチ200dの通信ポートP3と通信ポートP1を経由し、中継スイッチ200aの通信ポートP3と通信ポートP2を経由し、中継スイッチ200cの通信ポートP3と通信ポートP4を経由し、仮想スイッチ400bの仮想通信ポートvP1に転送される場合に、中継スイッチ200aの通信ポートP3と中継スイッチ200dの通信ポートP1間の通信経路に障害が起きると、中継スイッチ200dは、当該マルチキャストパケットの転送ポートとなっている通信ポートP2をパケット転送として利用するよう切り替えることで通信を再開し、マルチキャストツリーを再構築することなく高速に障害から復旧する。
ステップS1306において、管理装置100は、例えば「マルチパスが存在しない」旨のメッセージを出力部120に返す。
ステップS1307において、管理装置100は、シングルパス上に当該マルチキャストアドレスのマルチキャストツリーが構築されるように、シングルパスを構成する中継スイッチ200の通信ポート250や仮想スイッチ400の仮想通信ポート430を転送ポートとリストに追加する。
ステップS1308において、管理装置100は、S1301で検索した仮想ネットワーク終端部のすべての組み合わせについてパスを探索したか否かを判断する。管理装置100は、ステップS1308の判断で否定結果を得るとステップS1302の処理を繰り返し、ステップS1308の判断で肯定結果を得ると図13の処理を終了する。
図14は、図12におけるステップS1400、すなわちマルチキャストツリーを構築するスイッチの転送ポートをマルチキャストツリー構成管理テーブル157に登録し、マルチキャストツリー設定パケット1を用いて各スイッチにマルチキャストツリーを構成する転送ポートを通知する処理手順を示すフローチャートである。
ステップS1401において、管理装置100は、ステップS1200で選択したマルチキャストアドレスをキーとして、マルチキャストツリー構成管理テーブル157からスイッチと転送ポートの組み合わせをリストとして抽出する。
ステップS1402において、管理装置100は、スイッチの転送ポートをキーとして、ステップS1401で抽出したリストと、ステップS1300で計算したリストの差分を抽出する。
ステップS1403において、管理装置100は、ステップS1402で抽出した結果、ステップS1300で計算したリストに新たに中継スイッチ200や仮想スイッチ400、転送ポートの追加があるか否かを判断する。管理装置100は、ステップS1403の判断で肯定結果を得るとステップS1404の処理を行い、ステップS1403の判断で否定結果を得るとステップS1406の処理を行う。
ステップS1404において、管理装置100は、マルチキャストツリー構成管理テーブル157に新たに追加されたスイッチと転送ポートを登録する。
ステップS1405において、管理装置100は、ステップS1404で新たに転送ポートを追加したスイッチにマルチキャストツリー設定パケット1を送信する。マルチキャストツリー設定パケット1の宛先アドレスフィールド1Aには新たに転送ポートを追加したスイッチのMACアドレスが格納され、送信元アドレスフィールド1Bに管理装置のMACアドレスが格納され、マルチキャストツリー構築指示フィールド1Cには「追加」が格納され、転送ポート番号フィールド1DにはステップS1404で追加した転送ポートが格納され、マルチキャストアドレスフィールド1EにはステップS1200で選択したマルチキャストアドレスが格納される。
ステップS1406において、管理装置100は、ステップS1402で抽出した結果、ステップS1401で検索したリストの中で削除されたスイッチや転送ポートがあるか否かを判断する。管理装置100は、ステップS1406の判断で肯定結果を得るとステップS1407の処理を行い、ステップS1406の判断で否定結果を得るとこの図の処理を終了する。
ステップS1407において、管理装置100は、マルチキャストツリー構成管理テーブル157から、ステップS1401で検索したリストの中で削除されたスイッチや転送ポートを削除する。
ステップS1408において、管理装置100は、転送ポートを削除したスイッチにマルチキャストツリー設定パケット1を送信し、この図の処理を終了する。マルチキャストツリー設定パケット1の宛先アドレスフィールド1AにはステップS1407で削除された転送ポートを持つスイッチのMACアドレスが格納され、送信元アドレスフィールド1Bには管理装置100のMACアドレスが格納され、マルチキャストツリー構築指示フィールド1Cには「削除」が格納され、転送ポート番号フィールド1DにはステップS1407で削除された転送ポートが格納され、マルチキャストアドレスフィールド1EにはステップS1200で選択したマルチキャストアドレスが格納される。
図15は、図10においてシーケンスQ3後の中継スイッチ200cの処理、すなわちスイッチにおけるマルチキャストパケット転送経路テーブル264やマルチキャストパケット転送経路テーブル450の更新処理手順を示すフローチャートである。
ステップS2100において、スイッチは、受信したマルチキャストツリー設定パケット1のマルチキャストツリー構築指示フィールド1Cが「追加」か否かを判断する。スイッチは、ステップS2100の判断で肯定結果を得るとステップS2200の処理を行い、ステップS2100の判断で否定結果を得るとステップS2300の処理を行う。
ステップS2200において、スイッチは、マルチキャストパケット転送経路テーブル264及びまたはマルチキャストパケット転送経路テーブル450に、受信したマルチキャストツリー設定パケット1のマルチキャストアドレスフィールド1Eに格納されているマルチキャストアドレスと転送ポート番号フィールド1Dに格納されている転送ポート番号を登録し、この図の処理を終了する。
ステップS2300において、スイッチは、受信したマルチキャストツリー設定パケット1のマルチキャストツリー構築指示フィールド1Cが「削除」か否か判断する。スイッチは、ステップS2300の判断で肯定結果を得るとステップS2400の処理を行い、ステップS2300の判断で否定結果を得るとS2500の処理を行う。
ステップS2400において、中継端末は、マルチキャストパケット転送経路テーブル264及びまたはマルチキャストパケット転送経路テーブル450から、受信したマルチキャストツリー設定パケット1のマルチキャストアドレスフィールド1Eに格納されているマルチキャストアドレスに関して、転送ポート番号フィールド1Dに格納されている転送ポート番号を削除し、この図の処理を終了する。
ステップS2500において、スイッチは、例えば「エラーパケットを受信した」旨のメッセージを出力部220や出力部320に返し、この図の処理を終了する。
図16は、図11におけるシーケンスQ13〜シーケンスQ15、すなわち中継スイッチ200追加時の管理装置100におけるマルチキャストツリーの計算とマルチキャストツリー設定パケット1の送信処理手順を示すフローチャートである。
ステップS3100において、管理装置100は、マルチキャストツリー構成管理テーブル157に格納されているマルチキャストアドレスから、マルチキャストアドレスを一つ選択する。
ステップS3200において、管理装置100は、S3100で選択したマルチキャストアドレスのマルチキャストツリーを構築するため、システム構成情報管理テーブル155やサーバ情報管理テーブル156を用いて、各スイッチにおける転送ポートを計算する。ステップS3200の詳細は、図13と同様である。
ステップS3300において、管理装置100は、ステップS3200で計算したマルチキャストツリーを構築するスイッチのポートをマルチキャストツリー構成管理テーブル157に登録し、マルチキャストツリーを構成するスイッチにマルチキャストツリー設定パケット1を送信して転送ポートを通知する。ステップS3300の詳細は、図14と同様である。
ステップS3400において、管理装置100は、マルチキャストツリー構成管理テーブル157に格納されているすべてのマルチキャストアドレスについてマルチキャストツリーを計算したか否か判断する。管理装置100は、ステップS3400の判断で否定結果を得るとステップS3100の処理を繰り返し、ステップS3400の判断で肯定結果を得ると図16の処理を終了する。
以上のように本実施形態によれば、集中管理型のマルチキャストツリー構築によってマルチパス上にマルチキャストツリーを構築することが可能となり、経路の障害発生時にマルチキャストツリーを再構築することなく通信を再開させることができる。また、管理装置は、スイッチ管理部を通じて中継スイッチや仮想スイッチの管理装置連携部にマルチキャストツリーの設定を通知するため、配下にサーバが存在しない中継スイッチや仮想スイッチにマルチキャストツリーを構築することが可能となり、仮想サーバが別の物理サーバに移動する前に移動後のシステム構成を考慮してマルチキャストツリーを構築しておくことで、仮想サーバの移動後にマルチキャストツリーを構築することなく通信を行うことができる。
図17〜図26を参照して第2の実施形態を説明する。本実施形態は、第1の実施形態の変形例に該当する。従って、第1の実施形態との相違点を中心に説明する。
図1は、全体として第2の実施形態によるネットワークシステム10Bを示す。
図17は、中継スイッチ200の内部構成を示した図である。第1の実施形態との差分は、記憶部260にマルチキャストツリー構築パケット転送経路テーブル265を保持することである。マルチキャストツリー構築パケット転送経路テーブル265は、マルチキャストツリー構築パケット、例えばIGMPにおける参加要求パケットや脱退要求パケットを転送する通信ポート250を管理するテーブルである。管理装置100から送信されるマルチキャストツリー構築パケット転送経路設定パケット2に基づき、マルチキャストツリー構築パケット転送経路テーブル265を更新する。
図18は、物理サーバ300の内部構成を示した図である。第1の実施形態との差分は、仮想スイッチ400にマルチキャストツリー構築パケット転送経路テーブル460を保持することである。マルチキャストツリー構築パケット転送経路テーブル460は、マルチキャストツリー構築パケット、例えばIGMPにおける参加要求パケットや脱退要求パケットを転送する仮想通信ポート430を管理するテーブルである。管理装置100から送信されるマルチキャストツリー構築パケット転送経路設定パケット2に基づき、マルチキャストツリー構築パケット転送経路テーブル460を更新する。
図19(a)は、中継スイッチ200に格納されているマルチキャストツリー構築パケット転送経路テーブル265、図19(b)は仮想スイッチ400に格納されているマルチキャストツリー構築パケット転送経路テーブル460を示す。マルチキャストツリー構築パケット転送ポート欄265A及びマルチキャストツリー構築パケット転送ポート欄460Aには、マルチキャストツリー構築パケットを転送するための転送ポートが格納される。
例えば、図19(a)では、マルチキャストツリー構築パケット転送経路テーブル265を保持する中継スイッチ200は、例えば参加要求パケットや脱退パケットを受信した場合、通信ポートP1とP2とP3の中で当該パケットを受信した通信ポートを除く通信ポートから転送することを示す。
図20は、マルチキャストツリー構築パケット転送経路設定パケット2の一例を示した図である。マルチキャストツリー構築パケット転送経路設定パケット2は、管理装置100がスイッチに例えばマルチキャストツリー構築パケットを転送するポートを追加、削除するよう指示するためのパケットである。
宛先アドレスフィールド2AにはスイッチのMACアドレスが格納される。送信元アドレスフィールド2Bには管理装置のMACアドレスが格納される。マルチキャストツリー構築パケット転送経路指示フィールド2Cには例えば「追加」や「削除」といったマルチキャストツリー構築パケットの転送経路に関する指示が格納される。転送ポート番号フィールド2Dにはマルチキャストツリー構築パケット転送経路指示フィールド2Cに格納された指示を反映させる転送ポート番号が格納される。
図21は、マルチキャストツリー構築パケット送信指示パケット3の一例を示した図である。マルチキャストツリー構築パケット送信指示パケット3は、管理装置100がスイッチに例えば参加要求パケットや脱退要求パケットの送信を指示するためのパケットである。
宛先アドレスフィールド3Aには例えばスイッチのMACアドレスが格納される。送信元アドレスフィールド3Bには例えば管理装置のMACアドレスが格納される。マルチキャストツリー構築パケット送信指示フィールド3Cには例えば「参加要求」や「脱退要求」といったマルチキャストツリー構築パケットの種類に関する指示が格納される。マルチキャストアドレスフィールド3Dには参加または脱退するマルチキャストツリーのマルチキャストアドレスが格納される。
次に、本構成におけるマルチキャストツリー構築手順について説明する。
図22、図23は、第2の実施形態におけるマルチキャストツリー構築を示すシーケンス図である。
図22のシーケンスQ31〜シーケンスQ39は、図1のネットワークシステム10Bにおいて仮想サーバ500aが物理サーバ300aから物理サーバ300bへ移動する場合の、各スイッチにおけるマルチキャストパケット転送経路テーブル264、マルチキャストパケット転送経路テーブル450の更新から、仮想サーバ500aが移動を完了し、データ通信を開始する処理を示す。
従来環境と異なり、本実施例で前提とする大規模ネットワーク論理分割技術では、マルチキャスト通信により転送されるデータの受信者とマルチキャストツリーの末端は、例えば、それぞれサーバ、スイッチであり両者が異なる。このため、本実施例によると、以下に示す通り、仮想サーバの移動前に、移動先のスイッチにマルチキャストツリーを構築することが可能となる。
シーケンスQ31、Q32は、図10における第1の実施形態のシーケンスQ1、Q2と同様である。また、シーケンスQ32の詳細は第1の実施形態と同様であり、図12、図13に記載されている。
シーケンスQ33において、管理装置100は、計算したマルチキャストツリーを元に、仮想スイッチ400bへ、仮想通信ポートvP1を新たにマルチキャストツリー構築パケットの転送ポートとするよう、宛先アドレスフィールド2Aに「仮想スイッチ400bのMACアドレス」、送信元アドレスフィールド2Bに「管理装置のMACアドレス」、マルチキャストツリー構築パケット転送経路指示フィールド2Cに「追加」、転送ポート番号フィールド2Dに「vP1」を格納したマルチキャストツリー構築パケット転送経路設定パケット2を送信する。このとき管理装置100は、例えばマルチキャストツリー構成管理テーブル157により、当該仮想通信ポートにマルチキャストツリーが構築されており、すでに当該仮想通信ポートがマルチキャストツリー構築パケットの転送ポートとして設定されていると確認できる場合、マルチキャストツリー構築パケット転送経路設定パケット2を送信しなくても良い。
シーケンスQ34において、管理装置100は、移動した後の仮想サーバ500aを管理する仮想ネットワーク終端部を持つ仮想スイッチ400bにマルチキャストツリー構築パケットの送信を指示するため、例えば宛先アドレスフィールド3Aに「仮想スイッチ400bのMACアドレス」、送信元アドレスフィールド3Bに「管理装置のMACアドレス」、マルチキャストツリー構築パケット送信指示フィールド3Cに「参加要求」、マルチキャストアドレスフィールド3Dに「239.1.1.1」を格納したマルチキャストツリー構築パケット送信指示パケット3を送信する。
シーケンスQ35において、仮想スイッチ400bは、受信したマルチキャストツリー構築パケット送信指示パケット3の指示に従い、シーケンスQ34で学習したマルチキャストツリー構築パケットの転送ポートである仮想通信ポートvP1から中継スイッチ200cへ、例えば公知技術であるIGMPを用いてマルチキャストツリー構築パケットであるマルチキャストアドレス「239.1.1.1」の「参加要求」パケットを生成し、送信する。なお、マルチキャストツリー構築パケットはPIM(Protocol Independent Multicast)といった他の公知技術を用いても良いし、独自に定義したプロトコルを用いても良い。
シーケンスQ36において、中継スイッチ200cは、マルチキャストツリー構築パケット転送経路テーブル265に格納された転送ポートのうち、マルチキャストツリー構築パケットを受信した通信ポートP4を除く通信ポートから受信したマルチキャストツリー構築パケットを転送する。
シーケンスQ37において、管理装置100は、仮想サーバ500aに物理サーバ300bへの移動を指示する。
シーケンスQ38において、仮想サーバ500aは、物理サーバ300bへの移動を行う。
シーケンスQ39において、仮想サーバ500aは、データフレームの送信を開始する。
なお、図22は、仮想サーバ500が物理サーバ300を移動する場合について記載しているが、仮想サーバ500が新たに物理サーバ300に追加される場合や仮想サーバ500が物理サーバ300から削除される場合も同様のシーケンス図となる。
図23のシーケンスQ41〜シーケンスQ54は、図1のネットワークシステム10Bにおいて管理装置100、中継スイッチ200a、中継スイッチ200c〜中継スイッチ200e、物理サーバ300a〜300dが存在する際に中継スイッチ200bを新たに追加した場合の、各スイッチにおけるマルチキャストパケット転送経路テーブル264、マルチキャストパケット転送経路テーブル450の更新処理である。なお、図23では簡単のため、仮想サーバ500a(不図示)の送信フレームが仮想スイッチ400aの仮想ネットワーク終端部でマルチキャストパケットにカプセル化される際に宛先アドレスとなるマルチキャストアドレスに着目し、当該マルチキャストアドレスのマルチキャストツリーが構築されるときの中継スイッチ200a〜200c及び仮想スイッチ400aにおける処理について記載する。
シーケンスQ41〜シーケンスQ43は、図11における第1の実施形態のシーケンスQ11〜シーケンスQ13と同様である。また、シーケンスQ43の詳細は第1の実施形態と同様であり、図16に記載されている。
シーケンスQ44において、管理装置100は、計算したマルチキャストツリーを元に、中継スイッチ200bに、通信ポートP2と通信ポートP3を新たにマルチキャストツリー構築パケットの転送ポートとするよう、宛先アドレスフィールド2Aに「中継スイッチ200bのMACアドレス」、送信元アドレスフィールド2Bに「管理装置のMACアドレス」、マルチキャストツリー構築パケット転送経路指示フィールド2Cに「追加」、転送ポート番号フィールド2Dに「P2」「P3」を格納したマルチキャストツリー構築パケット転送経路設定パケット2を送信する。
シーケンスQ45において、管理装置100は、計算したマルチキャストツリーを元に、中継スイッチ200cに、通信ポートP2を新たにマルチキャストツリー構築パケットの転送ポートとするよう、宛先アドレスフィールド2Aに「中継スイッチ200cのMACアドレス」、送信元アドレスフィールド2Bに「管理装置のMACアドレス」、マルチキャストツリー構築パケット転送経路指示フィールド2Cに「追加」、転送ポート番号フィールド2Dに「P2」を格納したマルチキャストツリー構築パケット転送経路設定パケット2を送信する。
シーケンスQ46において、管理装置100は、仮想ネットワーク終端部を持つすべてのスイッチに参加要求パケットを送信するよう指示するためマルチキャストツリー構築パケット送信指示パケット3を送信する。例えば、管理装置100は、仮想スイッチ400aに参加要求パケットを送信するよう指示するため、宛先アドレスフィールド3Aに「仮想スイッチ400aのMACアドレス」、送信元アドレスフィールド3Bに「管理装置のMACアドレス」、マルチキャストツリー構築パケット送信指示フィールド3Cに「参加要求」、マルチキャストアドレスフィールド3Dに「239.1.1.1」を格納したマルチキャストツリー構築パケット送信指示パケット3を送信する。
シーケンスQ47において、仮想スイッチ400aは、受信したマルチキャストツリー構築パケット送信指示パケット3の指示に従い、例えば公知技術であるIGMPを用いてマルチキャストツリー構築パケット、すなわちマルチキャストアドレス「239.1.1.1」の「参加要求」パケットを生成し、マルチキャストツリー構築パケット転送経路テーブル460に格納されている転送ポートから送信する。なお、マルチキャストツリー構築パケットはPIM(Protocol Independent Multicast)といった他の公知技術を用いても良いし、独自に定義したプロトコルを用いても良い。
シーケンスQ48及びシーケンスQ49において、中継スイッチ200cは、例えば公知技術であるIGMPを用いて、受信したマルチキャストツリー構築パケットからマルチキャストパケット転送経路テーブル264にマルチキャストアドレスの転送ポートを学習する。学習後、マルチキャストツリー構築パケット転送経路テーブル265に格納された転送ポートのうち、マルチキャストツリー構築パケットを受信した通信ポートP3を除く通信ポートから受信したマルチキャストツリー構築パケットを転送する。
シーケンスQ50〜シーケンスQ54は、中継スイッチ200aの通信ポートP2及び通信ポートP3に通信障害が発生した場合における、中継スイッチ200cでのマルチキャストパケット転送ポートの切り替え処理とその後のマルチキャストパケット転送処理を示す。シーケンスQ50〜シーケンスQ54の処理は、図11のシーケンスQ17〜シーケンスQ21と同様である。 なお、図23は、中継スイッチ200が新たに追加される場合について記載しているが、中継スイッチ200が削除される場合、及び仮想スイッチ400が追加、削除される場合も同様のシーケンス図となる。
図24は、図22のシーケンスQ33及び図23のシーケンスQ44とシーケンスQ45、すなわち管理装置におけるマルチキャストツリー構築パケット転送経路設定パケット2の送信処理手順を示す図である。
ステップS1401〜ステップS1404、ステップS1406及びステップS1407は、図14と同様であり説明は省略する。
ステップS1409において、管理装置100は、ステップS1404で新たに転送ポートを追加したスイッチにマルチキャストツリー構築パケット転送経路設定パケット2を送信する。マルチキャストツリー構築パケット転送経路設定パケット2の宛先アドレスフィールド1Aには新たに転送ポートを追加したスイッチのMACアドレスが格納され、送信元アドレスフィールド1Bに管理装置のMACアドレスが格納され、マルチキャストツリー構築指示フィールド1Cには「追加」が格納され、転送ポート番号フィールド1DにはステップS1404で追加した転送ポートが格納される。
ステップS1410において、管理装置100は、転送ポートを削除したマルチキャストツリー構築パケット転送経路設定パケット2を送信し、この図の処理を終了する。マルチキャストツリー構築パケット転送経路設定パケット2の宛先アドレスフィールド1AにはステップS1407で削除された転送ポートを持つスイッチのMACアドレスが格納され、送信元アドレスフィールド1Bには管理装置100のMACアドレスが格納され、マルチキャストツリー構築指示フィールド1Cには「削除」が格納され、転送ポート番号フィールド1DにはステップS1407で削除された転送ポートが格納される。
図25は、図22のシーケンスQ33及び図23のシーケンスQ44とシーケンスQ45、すなわちスイッチにおけるマルチキャストツリー構築パケット転送経路設定パケット2を受信した際のマルチキャストツリー構築パケット転送経路テーブル265やマルチキャストツリー構築パケット転送経路テーブル460の更新処理手順を示すフローチャートである。
ステップS4100において、スイッチは、受信したマルチキャストツリー構築パケット転送経路設定パケット2のマルチキャストツリー構築パケット転送経路指示フィールド2Cにおける指示が「追加」か否か判断する。スイッチは、ステップS4100の判断で肯定結果を得るとステップS4200の処理を行い、ステップS4100の判断で否定結果を得るとステップS4300の処理を行う。
ステップS4200において、スイッチは、マルチキャストツリー構築パケット転送経路テーブル265やマルチキャストツリー構築パケット転送経路テーブル460へ、転送ポート番号フィールド2Dに格納されている転送ポート番号を追加し、図25の処理を終了する。
ステップS4300において、スイッチは、受信したマルチキャストツリー構築パケット転送経路設定パケット2のマルチキャストツリー構築パケット転送経路指示フィールド2Cの指示が「削除」か否か判断する。スイッチは、ステップS4300の判断で肯定結果を得るとステップS4400の処理を行い、ステップS4300の判断で否定結果を得るとステップS4500の処理を行う。
ステップS4400において、スイッチは、マルチキャストツリー構築パケット転送経路テーブル265やマルチキャストツリー構築パケット転送経路テーブル460から、転送ポート番号フィールド2Dに格納されているポート番号を削除し、図25の処理を終了する。
ステップS4500において、スイッチは、例えば「エラーパケットを受信した」旨のメッセージを出力部220や出力部320に返し、図25の処理を終了する。
図26は、図22のシーケンスQ34及び図23のシーケンスQ46、すなわちスイッチにおいてマルチキャストツリー構築パケット送信指示パケット3を受信した際のマルチキャストツリー構築パケットの送信処理手順を示すフローチャートである。
ステップS5100において、スイッチは、受信したマルチキャストツリー構築パケット送信指示パケット3のマルチキャストツリー構築パケット送信指示フィールド3Cが「参加要求」か否か判断する。スイッチは、ステップS5100の判断で肯定結果を得るとステップS5200の処理を行い、ステップS5100の判断で否定結果を得るとステップS5300の処理を行う。
ステップS5200において、スイッチは、例えば公知技術であるIGMPを用いて、マルチキャストツリー構築パケット転送経路テーブル265やマルチキャストツリー構築パケット転送経路テーブル460に格納されている転送ポートから、マルチキャストツリー構築パケット送信指示パケット3のマルチキャストアドレスフィールド3Dに格納されているマルチキャストアドレスのマルチキャストツリーへの参加要求パケットを生成して送信し、図26の処理を終了する。
ステップS5300において、スイッチは、受信したマルチキャストツリー構築パケット送信指示パケット3のマルチキャストツリー構築パケット送信指示フィールド3Cが「脱退要求」か否か判断する。スイッチは、ステップS5300の判断で肯定結果を得るとステップS5400の処理を行い、ステップS5300の判断で否定結果を得るとステップS5500の処理を行う。
ステップS5400において、スイッチは、例えば公知技術であるIGMPを用いて、マルチキャストツリー構築パケット転送経路テーブル265、マルチキャストツリー構築パケット転送経路テーブル460に格納されている転送ポートから、マルチキャストツリー構築パケット送信指示パケット3のマルチキャストアドレスフィールド3Dに格納されているマルチキャストアドレスのマルチキャストツリーへの脱退要求パケットを生成して送信し、図26の処理を終了する。
ステップS5500において、スイッチは、例えば「エラーパケットを受信した」旨のメッセージを出力部220や出力部320に返し、図26の処理を終了する。
以上のように本実施の形態によれば、公知技術であるIGMPやPIMを利用した集中管理型のマルチキャストツリー構築が可能となり、既存のスイッチを中継スイッチ200として利用した場合に新たな機能を実装する必要がなく、マルチパス上にマルチキャストツリーを構築することができる。
10:ネットワークシステム、20:管理ネットワーク、30:矢印、40:マルチキャストツリー、50:データ転送用ネットワーク、100:管理装置、110:入力部、120:出力部、130:演算部、140:ネットワークインターフェース、150:記憶部、151:システム構成情報管理部、152:サーバ情報管理部、153:マルチキャストツリー管理部、154:スイッチ制御部、155:システム構成情報管理テーブル、156:サーバ情報管理テーブル、157:マルチキャストツリー構成管理テーブル、200:中継スイッチ、210:入力部、220:出力部、230:演算部、240:スイッチング部、250:通信ポート、260:記憶部、261:通信制御部、262:フォワーディングテーブル、263:管理装置連携部、264:マルチキャストパケット転送経路テーブル、265:マルチキャストツリー構築パケット転送経路テーブル、300:物理サーバ、310:入力部、320:出力部、330:演算部、340:ネットワークインターフェース、350:記憶部、400:仮想スイッチ、410:通信制御部、420:フォワーディングテーブル、430:仮想通信ポート、440:管理装置連携部、450:マルチキャストパケット転送経路テーブル、460:マルチキャストツリー構築パケット転送経路テーブル、500:仮想サーバ、510:仮想ネットワークインターフェース。
Claims (18)
- 複数の中継スイッチと複数の物理サーバ装置とがネットワークで接続され、前記物理サーバ上に、仮想サーバと、前記仮想サーバの通信をマルチキャスト通信に変換する機能を有する仮想スイッチと、が構成されるネットワークシステムにおいて、前記中継スイッチと前記物理サーバ装置とに、管理用ネットワークで接続される管理装置であって、
前記仮想スイッチと前記中継スイッチとの接続構成、および前記中継スイッチ間の接続構成、および、前記仮想サーバと前記仮想スイッチとの接続構成を管理し、
前記仮想サーバの送信フレームが前記仮想スイッチにおいてマルチキャストパケットに変換される際に宛先アドレスとなるマルチキャストアドレスを管理し、
前記接続構成と、前記マルチキャストアドレスと、を用いて、前記ネットワーク上に一つのマルチキャストツリーを構築するための、複数の経路を用いる設定を求め、
前記仮想スイッチ、および/または、前記中継スイッチに、前記求めたマルチキャストツリーを構築するための設定を通知する
ことを特徴とする管理装置。 - 請求項1に記載の管理装置であって、
前記仮想サーバを前記物理サーバ上に構成する前に、前記仮想サーバを構成することにより新たに構築されるマルチキャストツリーを構築するための設定を求め、
求めた当該設定の追加を、前記仮想スイッチ、および/または、前記中継スイッチに指示する
ことを特徴とする管理装置。 - 請求項1または2に記載の管理装置であって、
新たな中継スイッチが追加された場合に、追加された前記中継スイッチを経由する新たなマルチキャストツリーを構築するための設定を求め、
求めた当該設定の追加を、前記仮想スイッチ、および/または、前記中継スイッチに指示する
ことを特徴とする管理装置。 - 請求項1から3のいずれか一に記載の管理装置であって、
前記マルチキャストツリーを構築するための設定として、マルチキャストアドレスと、前記マルチキャストアドレスを宛先アドレスとするマルチキャストパケットを出力するポートと、を指定する
ことを特徴とする管理装置。 - 請求項1から3のいずれか一に記載の管理装置であって、
複数の前記マルチキャストツリーを構築するための設定を前記仮想スイッチや前記ネットワーク装置に通知するとき、マルチキャストツリー構築パケットを出力するポートを指定し、
前記マルチキャストツリーを構成する前記仮想スイッチ、および/または、仮想サーバの通信をマルチキャスト通信に変換する機能を有する中継スイッチに、前記マルチキャストツリー構築パケットの送信を指示する
ことを特徴とする管理装置。 - 仮想サーバと、前記仮想サーバの通信をマルチキャスト通信に変換する機能を有する仮想スイッチと、が構成される物理サーバとネットワークで接続され、ネットワークシステムを構成する中継スイッチであって、
管理装置からのマルチキャストツリーを構築するための設定の通知を受信し、
前記設定指示を実行する
ことを特徴とする中継スイッチ。 - 請求項6に記載の中継スイッチであって、
前記管理装置からマルチキャストアドレスと前記マルチキャストアドレスを宛先アドレスとするマルチキャストパケットを出力するポートを通知された場合、前記マルチキャストアドレスを宛先アドレスとしたマルチキャストパケットは、通知された前記ポートから出力する
ことを特徴とする中継スイッチ。 - 請求項6に記載の中継スイッチであって、
前記管理装置から、マルチキャストツリー構築パケットを出力するポートを通知された場合、受信した前記マルチキャストツリー構築パケットを転送する際は、通知された前記ポートから出力する
ことを特徴とする中継スイッチ。 - 請求項8に記載の中継スイッチであって、
前記管理装置から、前記マルチキャストツリー構築パケットの送信を指示された場合、前記マルチキャストツリー構築パケットを生成し、通知された前記ポートから送信する
ことを特徴とする中継スイッチ。 - 中継スイッチとネットワークで接続され、ネットワークシステムを構成する物理サーバにおいて、前記物理サーバに構成される仮想サーバの通信をマルチキャスト通信に変換する機能を有する、前記物理サーバに構成される仮想スイッチであって、
管理装置からのマルチキャストツリーを構築するための設定の通知を受信し、
前記設定指示を実行する
ことを特徴とする仮想スイッチ。 - 請求項10に記載の仮想スイッチであって、
前記管理装置からマルチキャストアドレスと前記マルチキャストアドレスを宛先アドレスとするマルチキャストパケットを出力するポートを通知された場合、前記マルチキャストアドレスを宛先アドレスとしたマルチキャストパケットは、通知された前記ポートから出力する
ことを特徴とする仮想スイッチ。 - 請求項10に記載の仮想スイッチであって、
前記管理装置から、マルチキャストツリー構築パケットを出力するポートを通知された場合、受信した前記マルチキャスト構築パケットを転送する際は、通知された前記ポートから出力し、
前記管理装置から、前記マルチキャストツリー構築パケットの送信を指示された場合、前記マルチキャストツリー構築パケットを生成し、通知された前記ポートから送信する
ことを特徴とする仮想スイッチ。 - 複数の中継スイッチと複数の物理サーバ装置とがネットワークで接続され、前記物理サーバ上に、仮想サーバと、前記仮想サーバの通信をマルチキャスト通信に変換する機能を有する仮想スイッチと、が構成され、管理装置が、前記中継スイッチと前記物理サーバ装置とに、管理用ネットワークで接続されるネットワークシステムであって、
前記管理装置は、
前記仮想スイッチと前記中継スイッチの接続構成、および前記中継スイッチ間の接続構成、および、前記仮想サーバと前記仮想スイッチとの接続構成を管理し、
前記仮想サーバの送信フレームが前記仮想スイッチにおいてマルチキャストパケットに変換される際に宛先アドレスとなるマルチキャストアドレスを管理し、
前記接続構成と、前記マルチキャストアドレスと、を用いて、前記ネットワーク上に一つのマルチキャストツリーを構築するための、複数の経路を用いる設定を求め、
前記仮想スイッチ、および/または、前記中継スイッチに、前記求めたマルチキャストツリーを構築するための設定を通知し、
前記中継スイッチは、
管理装置からのマルチキャストツリーを構築するための設定の通知を受信し、
前記設定指示を実行し、
前記仮想スイッチは、
前記管理装置からのマルチキャストツリーを構築するための設定の通知を受信し、
前記設定指示を実行する
ことを特徴とするネットワークシステム。 - 請求項13に記載のネットワークシステムであって、
前記管理装置は、
前記仮想サーバを前記物理サーバ上に構成する前に、前記仮想サーバを構成することにより新たに構築されるマルチキャストツリーを構築するための設定を求め、
求めた当該設定の追加を、前記仮想スイッチ、および/または、前記中継スイッチに指示する
ことを特徴とするネットワークシステム。 - 請求項13または14に記載のネットワークシステムであって、
前記管理装置は、
新たな中継スイッチが追加された場合に、追加された前記中継スイッチを経由する新たなマルチキャストツリーを構築するための設定を求め、
求めた当該設定の追加を、前記仮想スイッチ、および/または、前記中継スイッチに指示する
ことを特徴とするネットワークシステム。 - 請求項13から15のいずれか一に記載のネットワークシステムであって、
前記管理装置は、求めた前記マルチキャストツリーを構築するための設定を前記仮想スイッチや前記中継スイッチに通知するとき、マルチキャストアドレスと前記マルチキャストアドレスを宛先アドレスとするマルチキャストパケットを出力するポートを指定し、
前記中継スイッチは、前記管理装置からマルチキャストアドレスと前記マルチキャストアドレスを宛先アドレスとするマルチキャストパケットを出力するポートを通知された場合、前記マルチキャストアドレスを宛先アドレスとしたマルチキャストパケットを出力する際、通知された前記ポートから送信し、
前記仮想スイッチは、前記管理装置からマルチキャストアドレスと前記マルチキャストアドレスを宛先アドレスとするマルチキャストパケットを出力するポートを通知された場合、前記マルチキャストアドレスを宛先アドレスとしたマルチキャストパケットを出力する際、通知された前記ポートから送信する
ことを特徴とするネットワークシステム。 - 請求項13から15のいずれか一に記載のネットワークシステムであって、
前記管理装置は、求めた前記マルチキャストツリーを構築するための設定を前記仮想スイッチや前記中継スイッチに通知するとき、マルチキャストツリー構築パケットを出力するポートを指定し、マルチキャスト通信を利用する前記仮想スイッチに前記マルチキャストツリー構築パケットの送信を指示し、
前記中継スイッチは、前記管理装置からマルチキャストツリー構築パケットを出力するポートを通知された場合、受信した前記マルチキャストツリー構築パケットを転送する際は、通知された前記ポートから送信し、
前記仮想スイッチは、
前記管理装置からマルチキャストツリー構築パケットを出力するポートを通知された場合、受信した前記マルチキャストツリー構築パケットを転送する際は、通知された前記ポートから送信し、
前記管理装置から、前記マルチキャストツリー構築パケットの送信を指示された場合、前記マルチキャストツリー構築パケットを生成し、通知された前記ポートから送信する
ことを特徴とするネットワークシステム。 - 請求項17に記載のネットワークシステムであって、
前記中継スイッチは、前記管理装置から、前記マルチキャストツリー構築パケットの送信を指示された場合、前記マルチキャストツリー構築パケットを生成し、通知された前記ポートから送信する
ことを特徴とするネットワークシステム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012143684A JP2014007681A (ja) | 2012-06-27 | 2012-06-27 | ネットワークシステム、および、その管理装置、そのスイッチ |
US13/892,825 US20140003427A1 (en) | 2012-06-27 | 2013-05-13 | Network system, and management apparatus and switch thereof |
CN201310177398.1A CN103516542A (zh) | 2012-06-27 | 2013-05-14 | 网络系统及其管理装置、其交换机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012143684A JP2014007681A (ja) | 2012-06-27 | 2012-06-27 | ネットワークシステム、および、その管理装置、そのスイッチ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014007681A true JP2014007681A (ja) | 2014-01-16 |
Family
ID=49778099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012143684A Pending JP2014007681A (ja) | 2012-06-27 | 2012-06-27 | ネットワークシステム、および、その管理装置、そのスイッチ |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140003427A1 (ja) |
JP (1) | JP2014007681A (ja) |
CN (1) | CN103516542A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015108106A1 (ja) * | 2014-01-16 | 2015-07-23 | 日本電気株式会社 | パケット転送装置、制御装置、通信システム、通信方法及びプログラム |
JP2015531212A (ja) * | 2012-08-14 | 2015-10-29 | ヴィーエムウェア, インコーポレイテッドVMware, Inc. | 仮想ネットワークおよび物理ネットワークを統合するための方法およびシステム |
JP2015211293A (ja) * | 2014-04-24 | 2015-11-24 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | ネットワーク構築制御装置、ネットワーク構築方法、及びプログラム |
KR20160029445A (ko) * | 2014-09-05 | 2016-03-15 | 주식회사 케이티 | 스위치 간의 정보 동기화 방법 및 시스템 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6079426B2 (ja) * | 2013-05-16 | 2017-02-15 | 富士通株式会社 | 情報処理システム、方法、装置及びプログラム |
CN104901891A (zh) * | 2014-03-07 | 2015-09-09 | 中兴通讯股份有限公司 | 一种组播报文的转发方法及装置 |
US9887939B2 (en) * | 2015-03-11 | 2018-02-06 | International Business Machines Corporation | Transmitting multi-destination packets in overlay networks |
US9979640B2 (en) * | 2014-12-23 | 2018-05-22 | Intel Corporation | Reorder resilient transport |
US20160359720A1 (en) * | 2015-06-02 | 2016-12-08 | Futurewei Technologies, Inc. | Distribution of Internal Routes For Virtual Networking |
US10439929B2 (en) * | 2015-07-31 | 2019-10-08 | Avago Technologies International Sales Pte. Limited | Graceful recovery of a multicast-enabled switch |
CN106209688B (zh) | 2016-07-13 | 2019-01-08 | 腾讯科技(深圳)有限公司 | 云端数据组播方法、装置和系统 |
JP6740911B2 (ja) * | 2017-01-16 | 2020-08-19 | 富士通株式会社 | ポート切替プログラム、ポート切替方法、および情報処理装置 |
CN108512671A (zh) * | 2017-02-24 | 2018-09-07 | 华为技术有限公司 | 一种外层组播ip地址分配方法以及装置 |
US10873473B2 (en) | 2017-07-17 | 2020-12-22 | Nicira, Inc. | Distributed multicast logical router |
WO2019018261A1 (en) * | 2017-07-17 | 2019-01-24 | Nicira, Inc. | DISTRIBUTED MULTICAST LOGIC ROUTER |
JP7003539B2 (ja) * | 2017-09-28 | 2022-01-20 | 京セラドキュメントソリューションズ株式会社 | アドホックネットワーク経路構築システム、ノード、センターノード及びアドホックネットワーク経路構築方法 |
US10728155B2 (en) * | 2018-07-13 | 2020-07-28 | Dell Products L.P. | Inter-datacenter multicast system |
DE112020002528B4 (de) * | 2019-05-23 | 2024-10-17 | Hewlett Packard Enterprise Development Lp | Algorithmen für die verwendung von lastinformationen von benachbarten knoten beim adaptiven routing |
US11895010B2 (en) | 2021-06-29 | 2024-02-06 | VMware LLC | Active-active support of multicast streams in virtualized environment |
US11784926B2 (en) | 2021-11-22 | 2023-10-10 | Vmware, Inc. | Optimized processing of multicast data messages in a host |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5511168A (en) * | 1993-07-01 | 1996-04-23 | Digital Equipment Corporation | Virtual circuit manager for multicast messaging |
US5684800A (en) * | 1995-11-15 | 1997-11-04 | Cabletron Systems, Inc. | Method for establishing restricted broadcast groups in a switched network |
US6950432B2 (en) * | 2003-05-23 | 2005-09-27 | Matsushita Electric Industrial Co., Ltd. | Architecture for dense multicast networks with provisioned routes |
CN1941715B (zh) * | 2005-09-30 | 2010-05-05 | 华为技术有限公司 | 实现接入网控制的系统、方法及装置 |
JP5392137B2 (ja) * | 2010-02-17 | 2014-01-22 | 富士通株式会社 | 通信処理のためのプログラム、コンピュータ及び方法 |
JP5521620B2 (ja) * | 2010-02-19 | 2014-06-18 | 富士通株式会社 | 中継装置、仮想マシンシステム及び中継方法 |
JP5776337B2 (ja) * | 2011-06-02 | 2015-09-09 | 富士通株式会社 | パケット変換プログラム、パケット変換装置、及びパケット変換方法 |
-
2012
- 2012-06-27 JP JP2012143684A patent/JP2014007681A/ja active Pending
-
2013
- 2013-05-13 US US13/892,825 patent/US20140003427A1/en not_active Abandoned
- 2013-05-14 CN CN201310177398.1A patent/CN103516542A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015531212A (ja) * | 2012-08-14 | 2015-10-29 | ヴィーエムウェア, インコーポレイテッドVMware, Inc. | 仮想ネットワークおよび物理ネットワークを統合するための方法およびシステム |
WO2015108106A1 (ja) * | 2014-01-16 | 2015-07-23 | 日本電気株式会社 | パケット転送装置、制御装置、通信システム、通信方法及びプログラム |
US10154073B2 (en) | 2014-01-16 | 2018-12-11 | Nec Corporation | Packet forwarding apparatus for handling multicast packet |
US10742697B2 (en) | 2014-01-16 | 2020-08-11 | Nec Corporation | Packet forwarding apparatus for handling multicast packet |
JP2015211293A (ja) * | 2014-04-24 | 2015-11-24 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | ネットワーク構築制御装置、ネットワーク構築方法、及びプログラム |
KR20160029445A (ko) * | 2014-09-05 | 2016-03-15 | 주식회사 케이티 | 스위치 간의 정보 동기화 방법 및 시스템 |
KR102207936B1 (ko) | 2014-09-05 | 2021-01-25 | 주식회사 케이티 | 스위치 간의 정보 동기화 방법 및 시스템 |
Also Published As
Publication number | Publication date |
---|---|
CN103516542A (zh) | 2014-01-15 |
US20140003427A1 (en) | 2014-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014007681A (ja) | ネットワークシステム、および、その管理装置、そのスイッチ | |
US20240236179A1 (en) | Automatic configuration change of virtual machines in a computing node group | |
EP3031197B1 (en) | Handling of virtual machine mobility in large data center | |
US9448821B2 (en) | Method and system for realizing virtual machine mobility | |
US10397283B2 (en) | Using symmetric and asymmetric flow response paths from an autonomous system | |
US10484471B2 (en) | Bridging clouds | |
JP7023989B2 (ja) | 転送エントリの生成 | |
US9325636B2 (en) | Scaling interconnected IP fabric data centers | |
EP2843906B1 (en) | Method, apparatus, and system for data transmission | |
US10291523B2 (en) | Dynamic host configuration protocol relay in a multipod fabric | |
US11252199B2 (en) | Redirecting packets in an autonomous system | |
CN114946222A (zh) | 对提供商底层扩展的多运营商接入 | |
US10742697B2 (en) | Packet forwarding apparatus for handling multicast packet | |
US10313224B2 (en) | Seamless host mobility | |
JP2019526983A (ja) | ブロードバンドリモートアクセスサーバの制御プレーン機能と転送プレーン機能の分離 | |
EP3069471B1 (en) | Optimized multicast routing in a clos-like network | |
EP3197107A1 (en) | Message transmission method and apparatus | |
WO2018214809A1 (zh) | 消息发送方法及装置、存储介质 | |
CN108141384B (zh) | Lisp移动性网络的自动配设 | |
US10880162B1 (en) | Linking logical broadcast domains | |
US9438475B1 (en) | Supporting relay functionality with a distributed layer 3 gateway | |
JP2024541998A (ja) | プライベートネットワーク間のセキュア双方向ネットワーク接続システム | |
CN113994639B (zh) | 基于远程网络节点的l3虚拟映射的数据传输方法及系统 | |
CN104734929A (zh) | 路由扩散的方法及装置 | |
CN107294857A (zh) | 组播的分发处理方法、装置及系统 |