JP5935939B2 - スイッチ及びプログラム - Google Patents

スイッチ及びプログラム Download PDF

Info

Publication number
JP5935939B2
JP5935939B2 JP2015506444A JP2015506444A JP5935939B2 JP 5935939 B2 JP5935939 B2 JP 5935939B2 JP 2015506444 A JP2015506444 A JP 2015506444A JP 2015506444 A JP2015506444 A JP 2015506444A JP 5935939 B2 JP5935939 B2 JP 5935939B2
Authority
JP
Japan
Prior art keywords
switch
port
identifier
link
profile
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.)
Active
Application number
JP2015506444A
Other languages
English (en)
Other versions
JPWO2014147746A1 (ja
Inventor
浪平 大輔
大輔 浪平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of JP5935939B2 publication Critical patent/JP5935939B2/ja
Publication of JPWO2014147746A1 publication Critical patent/JPWO2014147746A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0869Validating the configuration within one network element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、スイッチの自動設定技術に関する。
近年、物理サーバ上で、仮想マシン(VM:Virtual Machine)と呼ばれる仮想的なコンピュータを動作させる仮想化技術が用いられるようになっている。この仮想化技術における機能の1つとして、業務を停止させることなく、ある物理サーバ上で稼働中のVMを別の物理サーバ上に移動させるライブマイグレーション(Live Migration)がある。このライブマイグレーション機能は、VMの自由な移動が求められるクラウドやデータセンタ環境でも利用されている。
ライブマイグレーションによってVMを移動させる場合には、VMの移動に合わせて、移動対象のVMのためのポートプロファイルも移動させる。このポートプロファイルには、例えばVLAN(Virtual LAN(Local Area Network))やQoS(Quality of Service)などの情報が含まれる。このポートプロファイルの移動をスイッチ側に通知し、ネットワーク環境もVMの移動に合わせて自動的に定義の変更を行うための手法として、IEEE802.1Qbgで定義されているプロトコルがある。
IEEE802.1Qbgでは、VDP(VSI(Virtual Station Interface)Discovery and Configuration Protocol)と呼ばれるプロトコルが定義されており、VMの移動元サーバのインタフェースからVM消失に伴うプロファイルの削除を通知するもの(DE-ASSOCメッセージ)や、VMの移動先サーバのインタフェースから、VM起動に伴うプロファイルの登録を通知するもの(ASSOCメッセージ)等が規定されている。そして、スイッチにプロファイルのデータベースを保持しておき、これらのメッセージをスイッチ側で受信すると、当該メッセージに応じてプロファイルの適用などを自動的に実行する。
また、VDPの拡張として、図1に示すような多段スイッチの場合に、図2及び図3に示すような処理を行うことで対応する技術が存在している。
図1に示すシステムは、ブレードサーバ10と、ブレードサーバ40と、外部スイッチ60と、ポートプロファイルDB(データベース)サーバ5とを有する。
ポートプロファイルDBサーバ5は、各ブレードサーバで稼動するVMに対応付けて、VMの動作環境等を記憶する。例えば、ポートプロファイルDBサーバ5は、VMに対応したVLAN、QoS、割り当てられた帯域などの情報を記憶する。
ブレードサーバ10やブレードサーバ40は、ブレード(Blade)と呼ばれる抜き差し可能なサーバを筐体内に複数搭載するサーバである。例えば、ブレードサーバ10は、図1に示すように、CPU(Central Processing Unit)サーバ11乃至13とスイッチブレード20とを有し、ブレードサーバ40は、CPUサーバ41及び42と、スイッチブレード50とを有する。
各ブレードサーバが有するCPUサーバは、上で述べたように抜き差し可能なサーバであり、ハイパーバイザなどと呼ばれるVMM(Virtual Machine Monitor)を実行して、VMを動作させる。例えば、各CPUサーバは、VMMによって、VMや仮想スイッチを動作させて、他のCPUサーバや他のVMとの間でデータのやり取り等を実行する。なお、図1では、一例として、ブレードサーバ10のCPUサーバ11では、VM1及びVM2が動作し、CPUサーバ12では、VM3及びVM4が動作し、CPUサーバ13では、VM5及びVM6が動作している。また、ブレードサーバ40のCPUサーバ41では、VM8が動作し、CPUサーバ42では、VM9が動作している。
各ブレードサーバが有するスイッチブレードは、イーサネット(登録商標)やファイバチャネルなどの技術を用いて、ブレードサーバ内の通信やブレードサーバ間の通信を制御する。例えば、スイッチブレード20は、CPUサーバ11のVM1とCPUサーバ13のVM5との間でやり取りされるデータを中継し、ブレードサーバ内の通信を制御する。また、スイッチブレード20やスイッチブレード50は、外部スイッチ60を介して、CPUサーバ12のVM3とCPUサーバ41のVM8との間でやり取りされるデータを中継し、ブレードサーバ間の通信を制御する。
外部スイッチ60は、各ブレードサーバ内のスイッチブレードと接続され、ブレードサーバ間の通信を制御するレイヤ2スイッチなどのデータ中継装置である。例えば、外部スイッチ60は、スイッチブレード20やスイッチブレード50などと同様の機能を有し、スイッチブレード20とスイッチブレード50との間でやり取りされるデータを中継する。
次に、図2及び図3を用いて、CPUサーバ11におけるVM2がCPUサーバ41へ移動する際の処理について説明する。すなわち、移動元サーバをCPUサーバ11、移動先サーバをCPUサーバ41とする。また、移動元スイッチブレードは、CPUサーバ11と同一ブレードサーバ内にあるスイッチブレード20であり、移動先スイッチブレードは、CPUサーバ41と同一ブレードサーバ内にあるスイッチブレード50であるとする。
このような状況において、図2に示すように、CPUサーバ41のVMMは、管理者等の指示操作を受け付けると、新しいVMを自サーバ上に生成する(S101)。続いて、CPUサーバ11のVMMは、ライブマイグレーション指示を管理端末等から受け付けると(S102)、移動対象VMが自サーバで動作している状態で、プレコピーを実施する(S103及びS104)。
プレコピーが開始されると、CPUサーバ41のVMMは、VDPのPRE-ASSOCメッセージをスイッチブレード50に送信する(S105)。スイッチブレード50は、受信したPRE-ASSOCメッセージに含まれるVSIID(VSIのID)に基づいて、ブレードサーバをまたがったVM移動であると判定し、受信されたPRE-ASSOCメッセージを外部スイッチ60に転送する(S106)。
メッセージの転送先の外部スイッチ60は、PRE-ASSOCメッセージに含まれるVSIIDに対応するポートプロファイルをポートプロファイルDBサーバ5から取得して、ポートプロファイルテーブルに格納する(S107)。そして、外部スイッチ60は、PRE-ASSOCメッセージの応答として、PRE-ASSOC CONFメッセージをスイッチブレード50に送信する(S108)。そして、スイッチブレード50は、外部スイッチ60から受信されたPRE-ASSOC CONFメッセージを、PRE-ASSOCメッセージの送信元であるCPUサーバ41に転送する(S109)。
その後、CPUサーバ41のVMMは、メモリの変更量が所定値以下になった場合に、ストップアンドコピーを実施する(S110及びS111)。
図3の処理の説明に移行して、ストップアンドコピーが開始されると、CPUサーバ41のVMMは、VDPのASSOCメッセージをスイッチブレード50に送信する(S112)。スイッチブレード50は、受信したASSOCメッセージに含まれるVSIIDに基づいて、ブレードサーバをまたがったVM移動であると判定し、受信されたASSOCメッセージを外部スイッチ60に転送する(S113)。
メッセージの転送先である外部スイッチ60は、ASSOCメッセージに含まれるVSIIDに対応するVSIテーブルを更新して、ポートプロファイルを適用する(S114) 。そして、外部スイッチ60は、ASSOCメッセージの応答として、ASSOC CONFメッセージをスイッチブレード50に送信する(S115)。そして、スイッチブレード50は、外部スイッチ60から受信したASSOC CONFメッセージを、ASSOCメッセージの送信元であるCPUサーバ41に転送する(S116)。
一方で、CPUサーバ11のVMMは、VDPのDE-ASSOCメッセージをスイッチブレード20に送信する(S117)。スイッチブレード20は、受信したDE-ASSOCメッセージに含まれるVSIIDに基づいて、ブレードサーバをまたがったVM移動であると判定し、受信されたDE-ASSOCメッセージを外部スイッチ60に転送する(S118)。
メッセージの転送先の外部スイッチ60は、DE-ASSOCメッセージに含まれるVSIIDに対応するポートプロファイルをVSIテーブルから特定し、特定したポートプロファイルを削除する(S119)。そして、外部スイッチ60は、DE-ASSOCメッセージの応答として、DE-ASSOC CONFメッセージをスイッチブレード20に送信する(S120)。
そして、スイッチブレード20は、外部スイッチ60から受信したDE-ASSOC CONFメッセージを、DE-ASSOCメッセージの送信元であるCPUサーバ11に転送する(S121)。
しかしながら、物理サーバにて複数のネットワークインタフェースを有し、それらのリンクをLAG(Link Aggregation)設定にして分散利用する場合がある。すなわち、物理サーバ側がLAG設定の場合、設定された複数のポートはまとめて1つの論理ポートとして扱われ、VDPのフレームは、その論理ポートに対して1つ送信されるため、実際はLAG設定されたポート中の1つの物理回線を選択し、その回線のみに送出される。
物理サーバ側でLAGを用いている場合、接続先のスイッチが1つであればあまり問題はないが、冗長性の観点から、それぞれの物理リンクを別々のスイッチに接続し、スイッチ側ではそれら回線群をMLAG(Multi-chassis Link Aggregation)設定することがある。このようなMLAG設定がなされている場合には、上記のような技術では対処できない。
国際公開2012/093495号パンフレット
従って、本発明の目的は、一側面によれば、MLAG設定がなされているスイッチ群に対してもポートプロファイルの設定を自動的に行うための技術を提供することである。
複数のポートを有する、本技術に係るスイッチは、(A)複数のポートのうち第1のポートに第1のリンクを介して接続されている他の装置が他のスイッチと第2のリンクを介して接続されており且つ第1のリンク及び第2のリンクが仮想的に統合されている状態において、第1のリンクを介して他の装置に関連するプロファイルデータの識別データを含む所定のメッセージを受信した場合、識別データに対応するプロファイルデータを第1のポートに対して適用する処理を行う第1の適用処理部と、(B)所定のメッセージを受信した場合、プロファイルデータの第1の識別子と仮想的に統合されている第1のリンク及び第2のリンクを特定するための第2の識別子とを含む登録通知を生成し、少なくとも他のスイッチに送信する処理を行う登録通知部と、他のスイッチから、プロファイルデータの第3の識別子と仮想的に統合されている第1のリンク及び第2のリンクを特定するための第2の識別子とを含む登録通知を受信した場合、第3の識別子に対応するプロファイルデータが第1のポートに対して適用されていなければ適用する処理を行う第2の適用処理部とを含む。
一側面によれば、MLAG設定がなされているスイッチ群に対してもポートプロファイルの設定を自動的にできるようになる。
図1は、従来技術におけるネットワーク構成例を説明するための図である。 図2は、従来技術における処理フローを示す図である。 図3は、従来技術における処理フローを示す図である。 図4は、実施の形態に係るネットワーク構成例を示す図である。 図5は、スイッチの機能ブロック図である。 図6は、ポート設定テーブルの一例を示す図である。 図7は、プロファイルテーブルの一例を示す図である。 図8は、プロファイルテーブルの他の例を示す図である。 図9は、プロファイルテーブルの他の例を示す図である。 図10は、VDPを用いる場合における処理フローを示す図である。 図11は、ASSOCメッセージ等のTLVフォーマットの一例を示す図である。 図12は、VDPを用いる場合における処理フローを示す図である。 図13は、VDPを用いる場合における処理フローを示す図である。 図14Aは、スイッチの動作を説明するための図である。 図14Bは、スイッチの動作を説明するための図である。 図14Cは、スイッチの動作を説明するための図である。 図15Aは、スイッチの動作を説明するための図である。 図15Bは、スイッチの動作を説明するための図である。 図16は、ARPフレームを用いる場合における処理フローを示す図である。 図17は、ARPフレームを用いる場合における処理フローを示す図である。 図18Aは、ARPフレームを用いる場合におけるスイッチの動作を説明するための図である。 図18Bは、ARPフレームを用いる場合におけるスイッチの動作を説明するための図である。 図18Cは、ARPフレームを用いる場合におけるスイッチの動作を説明するための図である。 図18Dは、ARPフレームを用いる場合におけるスイッチの動作を説明するための図である。 図18Eは、ARPフレームを用いる場合におけるスイッチの動作を説明するための図である。 図18Fは、ARPフレームを用いる場合におけるスイッチの動作を説明するための図である。 図19は、ARPフレームを用いる場合におけるスイッチの動作を説明するための図である。 図20は、スイッチをコンピュータで実装する場合の機能ブロック図である。
[VDPについての実施の形態]
本実施の形態に係るネットワークの一例を図4を用いて説明する。本実施の形態においては、コアネットワークと、サーバやストレージ等の外部装置との間に、スイッチ1乃至6を含むスイッチによるネットワークが設けられている。スイッチ1及び2は、コアネットワークに接続されるポート(以下、ネットワークポート(Network Port)と呼ぶ)と、他のスイッチと接続されるポート(以下、インナーポート又は内部ポート(Inner Port)と呼ぶ)とを含む。一方、スイッチ3乃至6は、サーバ等の外部装置に接続されるポート(以下、外部ポート(Outer Port)と呼ぶ)と、他のスイッチに接続される内部ポートとを含む。
サーバAは、スイッチ3及び4に接続されており、サーバAとスイッチ3との間のリンクと、サーバAとスイッチ4との間のリンクとは、MLAG設定されている。すなわち、これらのリンクは仮想的に統合されており、サーバAから見ると1本の論理的なリンクが存在しているように見える。同様に、サーバBも、スイッチ3及び4に接続されており、サーバBとスイッチ3との間のリンクと、サーバBとスイッチ4との間のリンクとは、MLAG設定されている。すなわち、これらのリンクは仮想的に統合されており、サーバBから見ると1本の論理的なリンクが存在しているように見える。
さらに、サーバCは、スイッチ5及び6に接続されており、サーバCとスイッチ5との間のリンクと、サーバCとスイッチ6との間のリンクとは、MLAG設定されている。すなわち、これらのリンクは仮想的に統合されており、サーバCから見ると1本の論理的なリンクが存在しているように見える。同様に、サーバDも、スイッチ5及び6に接続されており、サーバDとスイッチ5との間のリンクと、サーバDとスイッチ6との間のリンクとは、MLAG設定されている。すなわち、これらのリンクは仮想的に統合されており、サーバDから見ると1本の論理的なリンクが存在しているように見える。
スイッチ3は、スイッチ1及び2に接続されており、スイッチ4も、スイッチ1及び2に接続されており、これらのスイッチ間のリンクもMLAG設定されている。同様に、スイッチ5は、スイッチ1及び2に接続されており、スイッチ6は、スイッチ1及び2に接続されており、これらのスイッチ間のリンクもMLAG設定されている。
このようなネットワークにおいて、例えば、サーバAにおけるVMがサーバDへライブマイグレーションを行う場合には、図2及び図3で示した処理フローに類似して、移動先サーバDは、VDPにおけるPRE-ASSOCメッセージ及びASSOCメッセージを、接続されているスイッチ5又は6に出力する。さらに、移動元のサーバAは、DE-ASSOCメッセージを、接続されているスイッチ3又は4に出力する。
このようにMLAG設定がなされていると、いずれか1つのリンクにしか上で述べたようなメッセージを出力しないので、残余のリンクが接続されているスイッチにおけるポートプロファイルの適用及び適用解除は、従来手法では適切に行われない。
そこで、本実施の形態では、以下で説明するような構成を有するスイッチを採用する。
次に、本実施の形態に係るスイッチの機能ブロック図を図5に示す。スイッチ100は、制御部110と、メモリ120と、スイッチハードウエア130と、ポート1乃至nとを有する。制御部110は、スイッチハードウエア130を含むスイッチ100全体を制御し、ポートに対するポートプロファイルの適用を行う第1適用処理部111及び第2適用処理部112と、以下で述べる登録通知を他のスイッチに送信する通知部113と、ポートに対するポートプロファイルの適用解除処理を行う適用解除処理部114とを有する。なお、制御部110は、例えばプロセッサとプログラムの組み合わせにて実現される。この場合、メモリ120又は他のROM(Read Only Memory)に格納されているプログラムをプロセッサが実行することにより、制御部110が実現される。メモリ120は、制御部110が実行する処理に用いられるデータ等を格納する。
スイッチハードウエア130は、ポート間のフレーム中継を行う半導体装置である。スイッチ100は、複数の同種スイッチを論理的に1つに統合し、内部で状態のやりとりを行うことで複数回線を冗長経路として使用できるようなスイッチである。この場合、スイッチハードウエア130は、独自フォーマットで他のスイッチとの通信を行う機能を有する。ポート1乃至nは、他のスイッチ、外部ネットワーク、サーバ等の外部装置と接続するためのケーブルが接続される。
また、メモリ120には、ポート設定テーブル及びプロファイルテーブルが格納されている。ポート設定テーブルの一例を図6に示す。図6の例では、ポート毎に、ポート種別と、MLAGチャネル番号とが設定されている。上で述べたように、ポート種別には、内部ポート及び外部ポートと、ネットワークポートとがある。MLAGチャネル番号については、同一のMLAGが設定されているリンクが接続されているポートについては同じMLAGチャネル番号が設定される。
また、図7に、プロファイルテーブルの一例を示す。図7の例では、プロファイル識別子と、ポートプロファイルと、適用先テナントIDと、ポート適用の有無と、削除タイマとが、ポートプロファイル毎に登録されるようになっている。VDPの場合、プロファイル識別子は、VSI TYPE ID又はVSIID format+VSIIDであり、これらについては後に述べる。また、ポートプロファイルは、VLANIDのリスト、QoS、ACL(Access Control List)データ、その他のデータを含む。QoSについては、ポートプロファイルの対象フレームに対する帯域制限や優先度の定義を含む。ACLデータは、サーバで実行されているVM宛ての特定フレームを遮断したり、フレーム内の優先度を記述する領域を変更する定義等を含む。フレーム内の優先度を記述する領域として、VLANタグ内にあるCoS(Class of Service)フィールドとIPヘッダ内にあるDSCP(Differentiated Services Code Point。ToS:Type of Service)が該当する。特定フレームのToS領域やCoS領域を指定値に変更したり、ToSの内容をCoSにコピーしたりする操作がある。
適用先テナントIDについては、VMを実行させているテナントが複数存在する場合に、適用先テナントIDでポートプロファイルを区別するために用いられる。ポート適用の有無については、以下で述べる処理にて、あるポートに対してポートプロファイルを適用した場合にはポート適用ありとなり、いずれのポートに対してもポートプロファイルの適用解除を行った場合にはポート適用なしとなる。なお、適用先のポート番号を登録するようにしても良い。
なお、ポートプロファイルテーブルについては図8及び図9のような構成を採用する場合もある。すなわち、プロファイル識別子と、プロファイルIDと、適用先テナントIDと、ポート適用の有無と、削除タイマとが登録されるようになっている。そして、ポートプロファイルについては、図9に示すように、プロファイルIDに対応付けて登録されるようになっている。
次に、ポートプロファイルの適用について、スイッチの動作を図10乃至図13を用いて説明する。なお、ポート種別が内部ポートであるポートに対しては、事前に全てのVLANについての設定を行っておくものとする。これによって、外部ポートにのみ着目して適切にポートプロファイルの適用及び適用解除を行えば、図4に示すようなMLAGの設定がなされている多段構成のスイッチネットワークであっても、外部ポートにおいてフレームの通過及び廃棄が適切に制御されるようになる。
まず、制御部110の第1適用処理部111は、いずれかのポート及びスイッチハードウエア130を介してプロファイル識別可能なフレームを受信する(図10:ステップS1)。
ここでプロファイル識別可能なフレームというのは、VDPにおけるPRE-ASSOC(正式にはPre-Associate)メッセージと、PRE-ASSOC with resource reservationメッセージと、ASSOC(正式にはAssociate)メッセージと、DE-ASSOC(正式にはDe-Associate)メッセージとである。ASSOCメッセージについては、VMの起動に応じて送信されるが、その後、生存確認メッセージ(Keep-Alive)として定期的に送信される場合もある。PRE-ASSOCメッセージ及びPRE-ASSOC with resource reservationメッセージについては、ASSOCメッセージを送信する前段階で送信されるメッセージであり、Keep-Alive相当のメッセージはないが、その後VMの起動に応じてASSOCメッセージが送信される。
そして、ASSOCメッセージなどに含まれるTLV(Type, Length, Value)のフォーマットを、図11に示す。TLVヘッダに相当する領域は、「Type」の領域及び「Length」の領域を含む。TLVデータに相当する領域は、「Value」の領域を含む。「Type」の領域には、PRE-ASSOC、PRE-ASSOC with resource reservation、ASSOC、DE-ASSOCなど識別コードが7ビット分設定される。「Length」の領域にはTLVデータ長が9ビット分設定される。「Value」の領域には23+M(Mはフィルタデータの長さ)オクテット分のデータが設定される。
VSI属性には、VSIタイプ及びインスタンスと、フィルタとが含まれており、VSIタイプ及びインスタンスには、VSIタイプID(VSI TYPE ID)と、VSIタイプバージョン(VSI TYPE VERSION)と、VSIIDフォーマット(VSIID FORMAT)と、VSIIDとが含まれる。
プロファイル識別に用いられるデータは、(A)VSI TYPE IDである場合と、(B)VSIID FORMATとVSIIDとの組み合わせである場合とがある。
(A)の場合、VSI TYPE IDは、ポートプロファイルの識別子(又はID)に相当するものなので、VSI TYPE IDを用いればよい。
(B)の場合、VSI TYPE IDのみでポートプロファイルを特定できない場合、例えばマルチテナントの場合に対応するために、VSIID FORMAT+VSIIDを用いる。VSIIDはVMの識別子に相当するので、例えばVMの識別子とテナントIDとの対応関係を表すデータを保持していれば、マルチテナントであっても図7や図8のようなプロファイルテーブルを検索できる。なお、VSIID FORMATは、VSIIDの種別を表すものであり、IPv4、IPv6、MACなどを表す。
そして、第1適用処理部111は、ステップS1で受信されたフレームが、ポートプロファイルの適用除外(簡易的に「削除」と記す場合もある。)を要求するフレームであるか否かを判断する(ステップS3)。VDPの場合には、DE-ASSOCメッセージであるか否かを判断する。ステップS1で受信されたフレームがポートプロファイルの適用除外を要求するフレームである場合には、処理はステップS19に移行する。
一方、ステップS1で受信されたフレームがポートプロファイルの適用除外を要求するフレームではない場合には、すなわち、ASSOCメッセージ、PRE-ASSOCメッセージ及びPRE-ASSOC with resource reservationメッセージである場合には、第1適用処理部111は、受信したフレームのデータでプロファイルテーブルを検索する(ステップS7)。受信したフレームのVSI TYPE ID又はVSIID FORMAT+VSIIDと一致するポートプロファイルの識別子を含むエントリを検索する。
プロファイルテーブルにおいて該当するエントリが存在しない場合には(ステップS9:Noルート)、処理を終了する。一方、プロファイルテーブルにおいて該当するエントリが存在する場合には(ステップS9:Yesルート)、第1適用処理部111は、該当エントリのポートプロファイルは既に受信ポートに対して適用されているか判断する(ステップS11)。図7又は図8のプロファイルテーブルであれば、ポート適用の有無の列において、ポート番号が登録されていれば直ぐに判断できる。
該当エントリのポートプロファイルは既に受信ポートに対して適用済みであれば、第1適用処理部111は、プロファイルテーブルにおいて該当エントリのポートプロファイルに対して削除タイマが設定されていれば、当該削除タイマをリセットする(ステップS15)。すなわち、所定時間の計測を最初からやり直す。ASSOCメッセージを連続して受信するような場合に対処するためである。そして、処理はステップS17に移行する。
一方、該当エントリのポートプロファイルが受信ポートに対して適用されていない場合には、第1適用処理部111は、該当エントリのポートプロファイルを受信ポートに対して適用し、該当エントリのポートプロファイルに対して削除タイマを設定する(ステップS13)。該当エントリのポートプロファイルを読み出して、受信ポートに対して例えばスイッチハードウエア130を介して設定する。また、所定時間の計測を開始する。そして処理はステップS17に移行する。
そして、第1適用処理部111は通知部113に指示し、通知部113は、該当エントリのポートプロファイルの識別子(又はID)及び受信フレームが到着した受信ポートのMLAGチャネル番号を含む登録通知を生成し、他のスイッチに対してスイッチハードウエア130を介して送信する(ステップS17)。例えば図6のポート設定テーブルにおいて、ポート番号からMLAGチャネル番号を特定する。そして処理は終了する。
また、ステップS19では、第1適用処理部111は、受信フレームのデータでプロファイルテーブルを検索する(ステップS19)。ステップS7と同様である。そして、プロファイルテーブルにおいて該当するエントリが存在しない場合には(ステップS21:Noルート)、処理を終了する。一方、プロファイルテーブルにおいて該当するエントリが存在する場合には(ステップS21:Yesルート)、第1適用処理部111は、該当エントリのポートプロファイルに対して削除タイマを設定する(ステップS23)。すなわち所定時間の計測を開始する。そして処理は終了する。
このような処理を実行することで、ASSOCメッセージ、PRE-ASSOCメッセージ又はPRE-ASSOC with resource reservationメッセージを受信した場合には、当該メッセージに対応するポートプロファイルが適用済みでなければ適用し、他のスイッチに対して登録通知を送信する。また、削除タイマがセットされるか又はリセットされるので、Keep-AliveとしてのASSOCメッセージ又は他のスイッチからの登録通知が所定時間内に受信されている間は、そのポートプロファイルの適用が維持される。
一方、DE-ASSOCメッセージを受信した場合には、削除タイマがセットされる。但し、DE-ASSOCメッセージの場合、Keep-AliveとしてのASSOCメッセージは送信されず、他のスイッチから登録通知が送信されてこなければ、所定時間後には、当該ポートプロファイルの適用は解除される。すなわち、受信ポートに対して設定されたポートプロファイルは削除される。
次に、登録通知を受信した場合の処理について図12を用いて説明する。
第2適用処理部112は、ポートプロファイルの識別子(又はID)及びMLAGチャネル番号を含む登録通知を、いずれかのポート及びスイッチハードウエア130を介して受信する(図12:ステップS31)。
そうすると、第2適用処理部112は、登録通知で指定されたMLAGチャネルに属するポートを自装置が有するか否かを判断する(ステップS33)。例えば図6のポート設定テーブルにおいて登録通知に含まれるMLAGチャネル番号が登録されているか判断する。ここで、登録通知で指定されたMLAGチャネルに属するポートが存在しない場合には、処理を終了する。
一方、登録通知で指定されたMLAGチャネルに属するポートが存在する場合には、第2適用処理部112は、登録通知で指定されたポートプロファイルが指定されたMLAGチャネルに属するポートに適用済みであるか否かを判断する(ステップS35)。図7又は図8に示したプロファイルテーブルにおけるポート適用の有無に適用先ポート番号が登録されていれば簡単に判断できる。
登録通知で指定されたポートプロファイルが指定されたMLAGチャネルに属するポートに適用されていなければ、第2適用処理部112は、該当ポートプロファイルを、指定されたMLAGチャネルに属するポートに適用すると共に、プロファイルテーブルにおいて該当エントリに削除タイマを設定する(ステップS41)。該当エントリのポートプロファイルを読み出して、指定MLAGチャネルに属するポートに対して例えばスイッチハードウエア130を介して設定する。また、所定時間の計測を開始する。そして処理は終了する。
登録通知で指定されたポートプロファイルが指定されたMLAGチャネルに属するポートに既に適用されていれば、第2適用処理部112は、プロファイルテーブルにおいて、指定されたポートプロファイルのエントリに対して削除タイマが設定されているか否かを判断する(ステップS37)。削除タイマが設定されていなければ、処理を終了する。
一方、削除タイマが設定されていれば、第2適用処理部112は、プロファイルテーブルにおいて、指定されたポートプロファイルのエントリに対して設定されている削除タイマをリセットする(ステップS39)。すなわち、所定時間の計測を最初からやり直す。そして処理を終了する。
このように、MLAG設定が行われていれば同一MLAGチャネルに属する複数のポートのいずれかにASSOCメッセージ等が送信されるので、ASSOCメッセージを受信したスイッチが他のスイッチに登録通知を送信すれば、ASSOCメッセージ等を受信しなかった他のスイッチのポートにも同一ポートプロファイルを適用できるようになる。なお、削除タイマが設定されるが、登録通知は、ASSOCメッセージを受信する毎に送信されるので、ASSOCメッセージを受信しなくなるまではその都度削除タイマがリセットされて、ポートプロファイルが適用除外となることはない。
次に、削除タイマの管理及びポートプロファイルの適用解除についての処理を図13を用いて説明する。
適用解除処理部114は、プロファイルテーブルの先頭エントリにポインタを設定する(図13:ステップS51)。そして、適用解除処理部114は、ポインタで示されるポートプロファイルのエントリに削除タイマが設定されているか否かを判断する(ステップS53)。削除タイマが設定されていなければ、処理はステップS61に移行する。
一方、削除タイマが設定されていれば、適用解除処理部114は、該当エントリの削除タイマの時刻を一定時間分減分する(ステップS55)。そして、適用解除処理部114は、削除タイマの時刻が0に到達したか判断する(ステップS57)。削除タイマの時刻が0に到達していなければ処理はステップS61に移行する。
一方、削除タイマの時刻が0に到達していれば、適用解除処理部114は、該当エントリのポートプロファイルの適用を解除するように、例えばスイッチハードウエア130を介して適用先ポートに対して設定する(ステップS59)。適用先ポートは、ポート適用の有無に適用先ポート番号が登録されていれば簡単に特定できる。適用解除は、例えばポートプロファイルのデータを削除することで行われる。そして処理はステップS61に移行する。
そして、適用解除処理部114は、ポインタがプロファイルテーブルの最終エントリに達したか否かを判断する(ステップS61)。ポインタがプロファイルテーブルの最終エントリに達していない場合には、適用解除処理部114は、ポインタをプロファイルテーブルの次のエントリに移動させ(ステップS65)、処理はステップS53に戻る。
一方、ポインタがプロファイルテーブルの最終エントリに達した場合には、適用解除処理部114は、一定時間ウェイトして(ステップS63)、処理はステップS51に戻る。
このような処理をスイッチ100の電源がオフされるまで繰り返すことで、登録通知又はASSOCメッセージ等を受信しなくなって不要となったポートプロファイルの適用解除を行う。
以上のような処理を実行することで、図14A乃至図14C、図15A及び図15Bに示すような動作が行われるようになる。図14Aで示すように、例えばサーバDからPRE-ASSOCメッセージがスイッチ5に送信されると(ステップ(1))、スイッチ5では、MLAGチャネルについてのポートに該当ポートプロファイルが適用される。また、登録通知がスイッチ5からスイッチ6へ送信され(ステップ(2))、スイッチ6の同一MLAGチャネルのポートにも該当ポートプロファイルが適用されるようになる。そして、スイッチ5及び6のプロファイルテーブルにおいて、該当ポートプロファイルのエントリに削除タイマが設定される。
その後、図14Bで示すように、例えばサーバDからASSOCメッセージがスイッチ6へ送信されると(ステップ(3))、スイッチ6は登録通知をスイッチ5へ送信する(ステップ(4))。既に、同一MLAGチャネルのポートに対して該当ポートプロファイルを適用済みであるから、スイッチ5及び6では、プロファイルテーブルにおいて該当エントリの削除タイマがリセットされる。その後、Keep-AliveとしてのASSOCメッセージが送信された場合にも、図14Bと同様の処理が行われ、同一のMLAGチャネルのポートに適用されたポートプロファイルは、適用解除されることはない。
その後、スイッチ5とサーバDとの間のリンクがダウンした場合でも、スイッチ6とサーバDとの間のリンクが残っていれば、ASSOCメッセージが、サーバDからスイッチ6へ送信されるので、スイッチ5へ登録通知が送信される。よって、スイッチ5でもポートプロファイルの適用が解除されることはない。このようにすれば、スイッチ5とサーバDとの間のリンクが復帰すれば、ポートプロファイルが残っているので、そのままそれを使用できる。
一方、図14Cに示すように、サーバDとスイッチ5との間のリンク及びサーバDとスイッチ6との間のリンクがダウンしてしまうと、スイッチ5にもスイッチ6にもASSOCメッセージが届かなくなるので、削除タイマの時刻が0となれば、両方のスイッチでポートプロファイルの適用解除がなされることになる。
さらに、図15Aに示すように、サーバAからスイッチ4へDE-ASSOCメッセージが送信されると(ステップ(11))、プロファイルテーブルの該当エントリの削除タイマがセットされる。スイッチ3については、削除タイマがセットされていれば、そのまま登録通知もASSOCメッセージも受信しないことになるので、そのまま削除タイマの時刻が0に近づくことになる。
その後、図15Bに示すように、スイッチ3及び4では、登録通知もASSOCメッセージも到着しないので、プロファイルテーブルの該当エントリにおける削除タイマの時刻が0に到達するので、ポートプロファイルの適用解除がなされることになる。よって、サーバAで動作していたVMが居なくなって、当該VMが属するVLANについての他のVMが存在していなければ、居なくなったVMが属するVLANについてのフレームはスイッチ3及び4においてサーバAについてMLAG設定されたポートで破棄されるようになる。
[ARPについての実施の形態]
VDPを用いない場合、例えば図2におけるステップS105乃至109を除き、図2のようにVMのライブマイグレーションが行われると、ステップS111の後に、ARP(Address Resolution Protocol)フレーム又はRARP(Reverse ARP)フレームが、移動したVMから同報される場合がある。このような場合には、このARPフレーム等を用いて、ポートプロファイルの設定を行う。
なお、VDPの場合には、サーバに接続されたスイッチにASSOCメッセージ等が送信されるので、スイッチ側では外部ポートでASSOCメッセージ等を受信する。一方、ARPメッセージ等は同報されるメッセージであるので、各スイッチ100では、スイッチハードウエア130にてハードウエア的に同報処理を行うと共に、スイッチハードウエア130が、制御部110にARPフレーム等を出力することになる。
そして、制御部110は、ARPフレーム等を受信すると、図16及び図17の処理を実行する。
まず、制御部110の第1適用処理部111は、いずれかのポート及びスイッチハードウエア130を介してプロファイル識別可能なフレームを受信する(図16:ステップS201)。
ここでプロファイル識別可能なフレームというのは、上で述べたとおり、ARPフレーム及びRARPフレームであり、送信元MACアドレスをポートプロファイルの識別子として用いる。
そして、第1適用処理部111は、ステップS201で受信したフレームの受信ポートが外部ポートであるか否かを判断する(ステップS203)。例えば、図6のようなデータに基づきポート種別を特定する。受信ポートが外部ポートでなければ、処理はステップS205に移行する。
一方、受信ポートが外部ポートであれば、第1適用処理部111は、受信したフレームのデータでプロファイルテーブルを検索する(ステップS211)。受信したフレームの送信元MACアドレスと一致するポートプロファイルの識別子を含むエントリを検索する。
プロファイルテーブルにおいて該当するエントリが存在しない場合には(ステップS213:Noルート)、処理を終了する。一方、プロファイルテーブルにおいて該当するエントリが存在する場合には(ステップS213:Yesルート)、第1適用処理部111は、該当エントリのポートプロファイルは既に受信ポートに対して適用されているか判断する(ステップS215)。図7又は図8のプロファイルテーブルであれば、ポート適用の有無の列において、ポート番号が登録されていれば直ぐに判断できる。
該当エントリのポートプロファイルは既に受信ポートに対して適用済みであれば、処理はステップS219に移行する。
一方、該当エントリのポートプロファイルが受信ポートに対して適用されていない場合には、第1適用処理部111は、該当エントリのポートプロファイルを受信ポートに対して適用する(ステップS217)。該当エントリのポートプロファイルを読み出して、受信ポートに対して例えばスイッチハードウエア130を介して設定する。そして処理はステップS219に移行する。
そして、第1適用処理部111は通知部113に指示し、通知部113は、該当エントリのポートプロファイルの識別子(又はID)及び受信フレームが到着した受信ポートのMLAGチャネル番号を含む登録通知を生成し、他のスイッチに対してスイッチハードウエア130を介して送信する(ステップS219)。例えば図6のポート設定テーブルにおいて、ポート番号からMLAGチャネル番号を特定する。そして処理は終了する。
また、ステップS205では、第1適用処理部111は、受信フレームのデータでプロファイルテーブルを検索する(ステップS20)。ステップS211と同様である。そして、プロファイルテーブルにおいて該当するエントリが存在しない場合には(ステップS207:Noルート)、処理を終了する。一方、プロファイルテーブルにおいて該当するエントリが存在する場合には(ステップS207:Yesルート)、第1適用処理部111は、該当エントリのポートプロファイルに対して削除タイマを設定する(ステップS209)。すなわち所定時間の計測を開始する。そして処理は終了する。
このような処理を実行することで、ARPフレーム又はRARPフレームを、外部ポートを介して受信すると、受信ポートに該当ポートプロファイルが適用されていなければ、当該ポートプロファイルを適用する。また、適用の有無に拘わらず、登録通知を他のスイッチに送信する。
次に、登録通知を受信した際の処理について図17を用いて説明する。
第2適用処理部112は、ポートプロファイルの識別子(又はID)及びMLAGチャネル番号を含む登録通知を、いずれかのポート及びスイッチハードウエア130を介して受信する(図17:ステップS221)。
そうすると、第2適用処理部112は、登録通知で指定されたMLAGチャネルに属するポートを自装置が有するか否かを判断する(ステップS223)。例えば図6のテーブルにおいて登録通知に含まれるMLAGチャネル番号が登録されているか判断する。ここで、登録通知で指定されたMLAGチャネルに属するポートが存在しない場合には、処理を終了する。
一方、登録通知で指定されたMLAGチャネルに属するポートが存在する場合には、第2適用処理部112は、登録通知で指定されたポートプロファイルが指定されたMLAGチャネルに属するポートに適用済みであるか否かを判断する(ステップS235)。図7又は図8に示したプロファイルテーブルにおけるポート適用の有無に適用先ポート番号が登録されていれば簡単に判断できる。
登録通知で指定されたポートプロファイルが指定されたMLAGチャネルに属するポートに適用されていなければ、第2適用処理部112は、該当ポートプロファイルを、指定されたMLAGチャネルに属するポートに適用する(ステップS241)。該当エントリのポートプロファイルを読み出して、指定MLAGチャネルに属するポートに対して例えばスイッチハードウエア130を介して設定する。なお、削除タイマが設定されていれば、削除タイマを削除する。そして処理は終了する。
登録通知で指定されたポートプロファイルが指定されたMLAGチャネルに属するポートに既に適用されていれば、第2適用処理部112は、プロファイルテーブルにおいて、指定されたポートプロファイルのエントリに対して削除タイマが設定されているか否かを判断する(ステップS237)。削除タイマが設定されていなければ、処理を終了する。
一方、削除タイマが設定されていれば、第2適用処理部112は、プロファイルテーブルにおいて、指定されたポートプロファイルのエントリに対して設定されている削除タイマを削除する(ステップS239)。すなわち、所定時間の計測を止める。そして処理を終了する。
このような処理を実行することで、ARPフレームが内部ポートを介して同報されてきた場合には、ポートプロファイルは適用されないが削除タイマが設定される。但し、ポートプロファイルが適用されていないので、削除タイマは有効に機能しない。その後、登録通知が到着すると、同一MLAGチャネルに属するポートに対してポートプロファイルを設定するようになる。
なお、図13に示すポートプロファイルの適用解除処理については、第1の実施の形態と同様であるから、説明を省略する。
次に、第2の実施の形態におけるスイッチの動作を、図18A乃至図19を用いて説明する。まず、図18Aに示すように、サーバDのVMがARPフレームを例えばスイッチ5に送信すると(ステップ(21))、スイッチ5は、受信ポートにポートプロファイルを適用する処理を行う。その後、図18Bに示すように、スイッチ5は、ARPフレームをスイッチ6へ同報する(ステップ(22))。この時スイッチ6は、削除タイマを設定するが、ポートプロファイルは同一MLAGチャネルのポートに適用していないので、実質的に効果はない。
上でも述べたようにARPフレームの同報はスイッチハードウエア130で速やかに行われるので、図18Cに示すように、後からスイッチ5からスイッチ6へ登録通知が送信される。スイッチ6では、登録通知に応じて、同一MLAGチャネルのポートに対して、ポートプロファイルが適用される。なお、削除タイマが機能している場合には削除タイマを削除する。
その後、図18Dに示すように、再度ARPフレームがサーバDのVMから送信されると(ステップ(24))、スイッチ5では特に何もせず、図18Eに示すように、ARPフレームが同報される(ステップ(25))。APRフレームが内部ポートを介してスイッチ6に到着すると、削除タイマが設定される。外部スイッチではなく内部スイッチからARPフレームを受信したということは、VMが移動したと推定できるが、同一MLAGチャネルのポートを有する他のスイッチにARPフレームが到着している可能性もあるので、直ぐには削除せず、登録通知の到着を所定時間待機する。
その後、図18Fに示すように、スイッチ5から登録通知がスイッチ6へ送信される(ステップ(26))。そうすると、スイッチ6では、削除タイマを削除する。そうすると、同一MLAGチャネルのポートに適用されているポートプロファイルは適用解除されることなく、そのままポートプロファイルを用いた処理が行われる。このように、登録通知の送信を、外部ポートを介したARPフレーム受信に応じて常に行えば、他スイッチでは削除タイマが削除されるので、不具合はない。
なお、単にMLAGチャネルとは関係ない他のスイッチからARPフレームが到着する場合であって、既に該当するポートプロファイルが適用済みであれば、削除タイマによって削除されることになる。これによって、ライブマイグレーションでVMが移動していなくなった場合に対処できる。
さらに、図4に示したように、多段スイッチ構成であっても、外部ポートを有するスイッチで不適切なフレームを遮断し、適切なフレームを通過させるので、適切な動作が行われるようになる。
なお、図18A乃至図18Fに示した動作を、別の手法で表すと図19のようになる。図19において上から時間が経過するものとする。ARPフレームが最初にスイッチ5に到着すると、スイッチ5ではポートプロファイルの適用処理が行われる。但し、ARPフレームは、スイッチハードウエア130を介してスイッチ5からスイッチ6へ同報される。スイッチ6では、ARPフレームは内部ポートで受信することになるから、スイッチ6では適用処理は行われない。スイッチ5ではポートプロファイルの適用処理の後に登録通知が、スイッチ5からスイッチ6へ送信される。スイッチ6では、登録通知に応じて、ポートプロファイルの適用処理が行われる。
その後、ARPフレームが、同じVMからスイッチ5へ再度送信されると、スイッチ5のスイッチハードウエア130は、ARPフレームを同報する。そうすると、スイッチ6にARPフレームが到着するので、削除タイマがセットされ、所定時間の計測が開始される。但し、スイッチ5は、適用処理は行わないが、登録通知はスイッチ6へ送信するので、ここで、スイッチ6は、削除タイマをクリアする。従って、ポートプロファイルが適用解除となることはない。
なお、同一MLAGチャネルについての登録通知が来ない場合には、スイッチ6では、削除タイマが0となったところでポートプロファイルの適用解除を行うことになる。
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、図4に示したネットワーク構成は一例であって、他のネットワーク構成であってもサーバとスイッチとの間でMLAG設定がなされていれば適用可能である。さらに、図5に示したスイッチの機能ブロックは一例であって、プログラムモジュール構成とは一致しない場合もある。
処理フローについても処理結果が変わらない限り、ステップの処理順番を入れ替えたり、複数ステップを並列実行できる場合もある。
また、上で述べたスイッチ100は、図20に示すように、メモリ2601とCPU2603とハードディスク・ドライブ(HDD)2605と表示装置2609に接続される表示制御部2607とリムーバブル・ディスク2611用のドライブ装置2613と入力装置2615とネットワークに接続するための通信制御部2617(図20では、2617a乃至2617c)とがバス2619で接続されている構成の場合もある。なお、場合によっては、表示制御部2607、表示装置2609、ドライブ装置2613、入力装置2615は含まれない場合もある。オペレーティング・システム(OS:Operating System)及び本実施の形態における処理を実施するためのアプリケーション・プログラムは、HDD2605に格納されており、CPU2603により実行される際にはHDD2605からメモリ2601に読み出される。必要に応じてCPU2603は、表示制御部2607、通信制御部2617、ドライブ装置2613を制御して、必要な動作を行わせる。なお、通信制御部2617のいずれかを介して入力されたデータは、他の通信制御部2617を介して出力される。CPU2603は、通信制御部2617を制御して、適切に出力先を切り替える。また、処理途中のデータについては、メモリ2601に格納され、必要があればHDD2605に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2611に格納されて頒布され、ドライブ装置2613からHDD2605にインストールされる。インターネットなどのネットワーク及び通信制御部2617を経由して、HDD2605にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2603、メモリ2601などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
複数のポートを有する、本実施の形態に係るスイッチは、(A)複数のポートのうち第1のポートに第1のリンクを介して接続されている他の装置が他のスイッチと第2のリンクを介して接続されており且つ第1のリンク及び第2のリンクが仮想的に統合されている状態において、第1のリンクを介して他の装置に関連するプロファイルデータの識別データを含む所定のメッセージを受信した場合、識別データに対応するプロファイルデータを第1のポートに対して適用する処理を行う第1の適用処理部と、(B)所定のメッセージを受信した場合、プロファイルデータの第1の識別子と仮想的に統合されている第1のリンク及び第2のリンクを特定するための第2の識別子とを含む登録通知を生成し、少なくとも他のスイッチに送信する処理を行う登録通知部と、他のスイッチから、プロファイルデータの第3の識別子と仮想的に統合されている第1のリンク及び第2のリンクを特定するための第2の識別子とを含む登録通知を受信した場合、第3の識別子に対応するプロファイルデータが第1のポートに対して適用されていなければ適用する処理を行う第2の適用処理部とを含む。
このようにすれば、MLAGが設定されている場合においても、VMのライブマイグレーション等に応じてポートプロファイルの適用を自動的に行うことができるようになる。
なお、上で述べた所定のメッセージが、他の装置のアドレスを取得するために同報されるメッセージである場合もある。このような場合、上で述べた識別データが、所定のメッセージの送信元アドレスである場合もある。そして、このような場合、上で述べた第1の適用処理部は、複数のポートのうち第1のポート以外のポートから、他の装置に関連するプロファイルデータの識別データを含む第2の所定のメッセージを受信した場合、識別データに対応するプロファイルデータの適用解除を所定時間猶予するようにしても良い。また、上で述べたスイッチは、所定時間内に第1の識別子と第2の識別子とを含む登録通知を受信しない場合には、識別データに対応するプロファイルデータの適用解除を実行する適用解除処理部をさらに有するようにしても良い。
このようにすれば、例えばVMの移動元サーバに接続されているスイッチ等においてプロファイルデータの適用解除を適切に行うことができるようになる。
また、上記スイッチにおいて、上で述べた所定時間内に第1の識別子と第2の識別子とを含む登録通知を受信した場合には、他の装置に関連するプロファイルデータの適用が維持されるようにしても良い。MLAGチャネルが同じポートを有するスイッチに所定のフレームが到着しているため登録通知を受け取っているので、プロファイルデータの適用を維持することが好ましい。
さらに、上で述べた所定のメッセージが、仮想マシン又は物理マシンの起動に関連して発せられる第1の通知である場合もある。この場合、第1の通知に関連して生存確認のための第2の通知が他の装置から送信されるようになっている場合もある。このような場合、上で述べた第1の適用処理部は、識別データに対応するプロファイルデータに対応付けて所定の猶予時間を設定し、第2の通知を受信した場合、所定の猶予時間の計測をリセットするようにしても良い。このようにすれば、リンクダウンなどにも適切に対処できるようになる。すなわち、猶予時間の間に第2の通知を受信できれば、完全なリンクダウンはないのでプロファイルデータの適用を維持するものである。
また、上で述べた第2の適用処理部は、他のスイッチから第1の識別子と第2の識別子とを含む登録通知を受信した場合には、所定の猶予時間の計測をリセットするようにしても良い。自ら第2の通知を受け取らなくても、同一MLAGチャネルのポートを有するスイッチから登録通知を受け取っている場合には、プロファイルデータの適用を維持することが好ましい。一方、第2の通知も登録通知も受け取らない場合には、MLAGチャネルの全ポートに係るリンクがダウンしていると推定でき、ポートプロファイルの適用を解除する。
なお、上で述べたような処理をプロセッサに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。

Claims (6)

  1. 複数のポートを有するスイッチであって、
    前記複数のポートのうち第1のポートに第1のリンクを介して接続されている他の装置が他のスイッチと第2のリンクを介して接続されており且つ前記第1のリンク及び前記第2のリンクが仮想的に統合されている状態において、前記第1のリンクを介して前記他の装置に関連するプロファイルデータの識別データを含む所定のメッセージを受信した場合、前記識別データに対応するプロファイルデータを前記第1のポートに対して適用する処理を行う第1の適用処理部と、
    前記所定のメッセージを受信した場合、前記プロファイルデータの第1の識別子と仮想的に統合されている前記第1のリンク及び前記第2のリンクを特定するための第2の識別子とを含む登録通知を生成し、少なくとも前記他のスイッチに送信する処理を行う登録通知部と、
    前記他のスイッチから、プロファイルデータの第3の識別子と前記仮想的に統合されている前記第1のリンク及び前記第2のリンクを特定するための第2の識別子とを含む登録通知を受信した場合、前記第3の識別子に対応するプロファイルデータが前記第1のポートに対して適用されていなければ適用する処理を行う第2の適用処理部と、
    を含むスイッチ。
  2. 前記所定のメッセージが、他の装置のアドレスを取得するために同報されるメッセージであり、
    前記識別データが、前記所定のメッセージの送信元アドレスであり、
    前記第1の適用処理部は、
    前記複数のポートのうち前記第1のポート以外のポートから、前記他の装置に関連するプロファイルデータの識別データを含む第2の所定のメッセージを受信した場合、前記識別データに対応するプロファイルデータの適用解除を所定時間猶予し、
    前記所定時間内に前記第1の識別子と前記第2の識別子とを含む登録通知を受信しない場合には、前記識別データに対応するプロファイルデータの適用解除を実行する適用解除処理部
    をさらに有する請求項1記載のスイッチ。
  3. 前記所定時間内に前記第1の識別子と前記第2の識別子とを含む登録通知を受信した場合には、前記他の装置に関連するプロファイルデータの適用が維持される
    請求項2記載のスイッチ。
  4. 前記所定のメッセージが、仮想マシン又は物理マシンの起動に関連して発せられる第1の通知であり、
    前記第1の通知に関連して生存確認のための第2の通知が前記他の装置から送信されるようになっており、
    前記第1の適用処理部は、
    前記識別データに対応するプロファイルデータに対応付けて所定の猶予時間を設定し、
    前記第2の通知を受信した場合、前記所定の猶予時間の計測をリセットする、
    請求項1記載のスイッチ。
  5. 前記第2の適用処理部は、
    前記他のスイッチから前記第1の識別子と前記第2の識別子とを含む登録通知を受信した場合には、前記所定の猶予時間の計測をリセットする
    請求項4記載のスイッチ。
  6. 複数のポートを有するスイッチのプロセッサに、
    前記複数のポートのうち第1のポートに第1のリンクを介して接続されている他の装置が他のスイッチと第2のリンクを介して接続されており且つ前記第1のリンク及び前記第2のリンクが仮想的に統合されている状態において、前記第1のリンクを介して前記他の装置に関連するプロファイルデータの識別データを含む所定のメッセージを受信した場合、前記識別データに対応するプロファイルデータを前記第1のポートに対して適用する処理を行い、
    前記所定のメッセージを受信した場合、前記プロファイルデータの第1の識別子と仮想的に統合されている前記第1のリンク及び前記第2のリンクを特定するための第2の識別子とを含む登録通知を生成し、少なくとも前記他のスイッチに送信する処理を行い、
    前記他のスイッチから、プロファイルデータの第3の識別子と前記仮想的に統合されている前記第1のリンク及び前記第2のリンクを特定するための第2の識別子とを含む登録通知を受信した場合、前記第3の識別子に対応するプロファイルデータが前記第1のポートに対して適用されていなければ適用する処理を行う
    処理を実行させるためのプログラム。
JP2015506444A 2013-03-19 2013-03-19 スイッチ及びプログラム Active JP5935939B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/057816 WO2014147746A1 (ja) 2013-03-19 2013-03-19 スイッチ及びプログラム

Publications (2)

Publication Number Publication Date
JP5935939B2 true JP5935939B2 (ja) 2016-06-15
JPWO2014147746A1 JPWO2014147746A1 (ja) 2017-02-16

Family

ID=51579480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015506444A Active JP5935939B2 (ja) 2013-03-19 2013-03-19 スイッチ及びプログラム

Country Status (4)

Country Link
US (1) US10044558B2 (ja)
EP (1) EP2978169B1 (ja)
JP (1) JP5935939B2 (ja)
WO (1) WO2014147746A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015065385A1 (en) * 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Determining aggregation information
US20210160318A1 (en) * 2014-06-04 2021-05-27 Pure Storage, Inc. Scale out storage platform having active failover
CN105306613A (zh) * 2014-07-24 2016-02-03 中兴通讯股份有限公司 Esadi的mac地址通告方法、装置及获取装置
US10454766B2 (en) * 2016-04-21 2019-10-22 Super Micro Computer, Inc. Automatic configuration of a network switch in a multi-chassis link aggregation group
US10374874B2 (en) * 2016-10-18 2019-08-06 Nicira, Inc. Reducing data plane disruption in a virtual switch
JP7003562B2 (ja) * 2017-10-16 2022-01-20 富士通株式会社 ミラーパケット制御プログラム、ミラーパケット制御方法、およびミラーパケット制御装置
US11409619B2 (en) 2020-04-29 2022-08-09 The Research Foundation For The State University Of New York Recovering a virtual machine after failure of post-copy live migration

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011087122A1 (ja) * 2010-01-18 2011-07-21 富士通株式会社 仮想ネットワーク制御プログラム、仮想ネットワーク制御方法および情報処理装置
WO2012120557A1 (ja) * 2011-03-07 2012-09-13 株式会社日立製作所 ネットワーク管理装置、ネットワーク管理方法及びネットワーク管理システム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09284328A (ja) 1996-04-15 1997-10-31 Hitachi Cable Ltd 複数スイッチ間の仮想lan方式
JPH09284329A (ja) 1996-04-15 1997-10-31 Hitachi Cable Ltd 複数スイッチ間の仮想lan方式
JP2002135282A (ja) 2000-10-23 2002-05-10 Hitachi Cable Ltd 仮想lan設定方法、その方法を用いたネットワーク管理システム、スイッチングハブ及びネットワーク管理装置
US20040044754A1 (en) 2002-08-27 2004-03-04 Virdy Macmohana Singh Virtual local area network provisioning in bridged networks
JP4293931B2 (ja) 2004-03-29 2009-07-08 富士通株式会社 通信システム
JP4325516B2 (ja) 2004-09-07 2009-09-02 Kddi株式会社 モバイルネットワークシステムにおけるデータの優先制御方法
JP5164628B2 (ja) * 2008-03-24 2013-03-21 株式会社日立製作所 ネットワークスイッチ装置、サーバシステム及びサーバシステムにおけるサーバ移送方法
EP2157732B2 (en) 2008-08-18 2021-10-20 ABB Power Grids Switzerland AG Configuration of a process control system
JP2011198299A (ja) * 2010-03-23 2011-10-06 Fujitsu Ltd プログラム、コンピュータ、通信装置および通信制御システム
JP5393622B2 (ja) 2010-09-01 2014-01-22 アラクサラネットワークス株式会社 ネットワーク中継装置およびネットワーク中継方法
JP5522003B2 (ja) 2010-11-24 2014-06-18 日立金属株式会社 ネットワーク中継システム及びネットワーク中継システムの自動設定方法
US8737412B2 (en) 2010-11-24 2014-05-27 Hitachi Metals, Ltd. Network relay system and method of automatically setting a network relay system
WO2012093495A1 (ja) 2011-01-07 2012-07-12 富士通株式会社 プロファイル処理プログラム、データ中継装置およびプロファイル制御方法
DE102011080676A1 (de) 2011-08-09 2013-02-14 Siemens Aktiengesellschaft Konfiguration eines Kommunikationsnetzwerks
JP6003611B2 (ja) 2012-12-17 2016-10-05 富士通株式会社 中継装置、中継装置の制御プログラム及び中継装置の制御方法
JP5958639B2 (ja) * 2013-02-20 2016-08-02 富士通株式会社 スイッチ及びプログラム
WO2014128859A1 (ja) * 2013-02-20 2014-08-28 富士通株式会社 スイッチ及びプログラム
JP6127574B2 (ja) * 2013-02-21 2017-05-17 富士通株式会社 スイッチ、スイッチシステム及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011087122A1 (ja) * 2010-01-18 2011-07-21 富士通株式会社 仮想ネットワーク制御プログラム、仮想ネットワーク制御方法および情報処理装置
WO2012120557A1 (ja) * 2011-03-07 2012-09-13 株式会社日立製作所 ネットワーク管理装置、ネットワーク管理方法及びネットワーク管理システム

Also Published As

Publication number Publication date
EP2978169A4 (en) 2016-03-02
EP2978169B1 (en) 2017-05-17
WO2014147746A1 (ja) 2014-09-25
JPWO2014147746A1 (ja) 2017-02-16
EP2978169A1 (en) 2016-01-27
US20150372862A1 (en) 2015-12-24
US10044558B2 (en) 2018-08-07

Similar Documents

Publication Publication Date Title
JP5935939B2 (ja) スイッチ及びプログラム
US7941539B2 (en) Method and system for creating a virtual router in a blade chassis to maintain connectivity
CN109937559B (zh) 一种用于网络通信的方法和装置
US7962587B2 (en) Method and system for enforcing resource constraints for virtual machines across migration
CN109937401B (zh) 经由业务旁路进行的负载均衡虚拟机的实时迁移
CN113273142B (zh) 通信系统和通信方法
EP2853065B1 (en) IMPLEMENTING PVLANs IN A LARGE-SCALE DISTRIBUTED VIRTUAL SWITCH
US10333827B2 (en) Adaptive session forwarding following virtual machine migration detection
US8396986B2 (en) Method and system of virtual machine migration
CN113261240A (zh) 使用可编程客户机进行多租户隔离
US8990808B2 (en) Data relay device, computer-readable recording medium, and data relay method
US20160323245A1 (en) Security session forwarding following virtual machine migration
US9641389B2 (en) Method and system for recovering from network disconnects by cloning a virtual port
US20150200808A1 (en) Method and system for virtual machine aware policy management
JP5500270B2 (ja) プロファイル処理プログラム、データ中継装置およびプロファイル制御方法
US20120131662A1 (en) Virtual local area networks in a virtual machine environment
CN116319169A (zh) 通信系统和由通信系统实现的方法、分流控制器、交换机
US20090150547A1 (en) Method and system for scaling applications on a blade chassis
CN113302898A (zh) 将客户机-设备对等互联的虚拟路由控制器
CN105978828B (zh) 一种实现虚拟机报文转发的方法和交换机
US9559937B2 (en) Apparatus and method for relaying communication between nodes coupled through relay devices
US9794147B2 (en) Network switch, network system, and network control method
WO2019063028A1 (zh) 一种信息处理方法以及相关设备
KR20230057459A (ko) 라우팅 정보 전송 방법 및 장치
Wang et al. Circuit‐based logical layer 2 bridging in software‐defined data center networking

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160412

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160425

R150 Certificate of patent or registration of utility model

Ref document number: 5935939

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150