JP5801383B2 - 仮想クラスタ交換 - Google Patents

仮想クラスタ交換 Download PDF

Info

Publication number
JP5801383B2
JP5801383B2 JP2013509167A JP2013509167A JP5801383B2 JP 5801383 B2 JP5801383 B2 JP 5801383B2 JP 2013509167 A JP2013509167 A JP 2013509167A JP 2013509167 A JP2013509167 A JP 2013509167A JP 5801383 B2 JP5801383 B2 JP 5801383B2
Authority
JP
Japan
Prior art keywords
switch
vcs
switches
port
trill
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.)
Expired - Fee Related
Application number
JP2013509167A
Other languages
English (en)
Other versions
JP2013526234A (ja
Inventor
スレッシュ ボビリセッティー,
スレッシュ ボビリセッティー,
ディリップ シャトワニ,
ディリップ シャトワニ,
シブ ハリス,
シブ ハリス,
ファニダール コガンティ,
ファニダール コガンティ,
ビディヤサガラ アール. グンタカ,
ビディヤサガラ アール. グンタカ,
ジェシー ビー. ウィレック,
ジェシー ビー. ウィレック,
センティルクマー ナラヤナサミー,
センティルクマー ナラヤナサミー,
Original Assignee
ブロケード コミュニケーションズ システムズ インコーポレイテッド
ブロケード コミュニケーションズ システムズ インコーポレイテッド
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
Priority claimed from US13/042,259 external-priority patent/US9461840B2/en
Priority claimed from US13/087,239 external-priority patent/US8867552B2/en
Priority claimed from US13/092,752 external-priority patent/US9270486B2/en
Priority claimed from US13/092,701 external-priority patent/US8989186B2/en
Priority claimed from US13/092,580 external-priority patent/US9716672B2/en
Priority claimed from US13/092,460 external-priority patent/US9769016B2/en
Priority claimed from US13/092,724 external-priority patent/US9001824B2/en
Priority claimed from US13/092,877 external-priority patent/US9231890B2/en
Priority claimed from US13/098,360 external-priority patent/US8625616B2/en
Application filed by ブロケード コミュニケーションズ システムズ インコーポレイテッド, ブロケード コミュニケーションズ システムズ インコーポレイテッド filed Critical ブロケード コミュニケーションズ システムズ インコーポレイテッド
Publication of JP2013526234A publication Critical patent/JP2013526234A/ja
Publication of JP5801383B2 publication Critical patent/JP5801383B2/ja
Application granted granted Critical
Expired - Fee Related 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/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • H04L49/357Fibre channel switches
    • 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/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • 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/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • 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/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • 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/0876Aspects of the degree of configuration automation
    • H04L41/0886Fully automatic configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • 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/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches

Description

本開示は、ネットワーク設計に関する。より具体的には、本開示は、自動構成を促進する拡張可能交換システムを構築する方法に関する。
インターネットの容赦ない成長は、それとともに帯域幅の飽くなき需要をもたらしてきた。結果として、機器ベンダは、トラフィックを移動させるように、より大きく、高速で多用途のスイッチを競って構築している。しかしながら、スイッチのサイズは無限に増大することはできない。それは、いくつかの要因を挙げると、物理的空間、電力消費、および設計複雑性によって制限される。より重要なことには、過度に大型のシステムはしばしば、その複雑性により、規模の経済を提供しないので、スイッチのサイズおよびスループットを単純に増大させることは、増加したポートあたりの費用により、経済的に実行不可能であることが証明され得る。
スイッチシステムのスループットを増加させる1つの方法は、スイッチスタッキングを使用することである。スイッチスタッキングでは、複数のより小さい規模の同一スイッチが、より大型の論理スイッチを形成するように、特別なパターンで相互接続される。しかしながら、スイッチスタッキングは、ポートおよびスイッチ間リンクの慎重な構成を必要とする。スタックがあるサイズに達した場合、必要な手動構成の量が非常に複雑かつ厄介になり、スタッキングが大規模交換システムを構築する際に実用的オプションとなることを妨げる。さらに、積層スイッチに基づくシステムはしばしば、ファブリック帯域幅の配慮により、システムの拡張可能性を制限するトポロジー制限を有する。
本発明の一実施形態は、スイッチシステムを提供する。スイッチは、第1のプロトコルに基づいて、カプセル化されているパケットを伝送するように構成される、スイッチ上の1つ以上のポートを含む。スイッチはさらに、制御機構を含む。動作中、制御機構は、第2のプロトコルに基づいて、論理スイッチを形成し、識別子の手動構成を必要とすることなく、論理スイッチに対して自動的に割り当てられた識別子を受信し、仮想クラスタスイッチに参加する。
この実施形態についての変化例では、仮想クラスタスイッチは、任意のトポロジーで連結されることが可能である1つ以上の物理的スイッチを備えている。さらに、仮想クラスタスイッチは、単一のスイッチであるように見える。
さらなる変化例では、第1のプロトコルは、Transparent Interconnection of Lots of Links(TRILL)プロトコルであり、パケットは、TRILLヘッダの中にカプセル化されている。
この実施形態についての変化例では、制御機構によって形成される論理スイッチは、論理ファイバチャネル(FC)スイッチである。
さらなる変化例では、論理スイッチに割り当てられた識別子は、FCスイッチドメインIDである。
この実施形態についての変化例では、制御機構はさらに、仮想クラスタスイッチの構成情報のコピーを維持するように構成される。
この実施形態についてのさらなる変化例では、仮想クラスタスイッチに対する構成情報は、仮想クラスタスイッチの中の物理的スイッチに割り当てられたいくつかの論理スイッチ識別子を含む。
この実施形態についての変化例では、スイッチは、ポートに関連付けられている進入パケットのソースMACアドレスおよび対応するVLAN識別子を習得し、習得したMACアドレス、対応するVLAN識別子、および対応するポート情報をネームサービスに伝達するように構成される、媒体アクセス制御(MAC)習得機構を含む。
本発明の一実施形態は、第1のプロトコルを使用してパケットを輸送するように構成される複数のスイッチを含む交換システムを提供する。各スイッチは、制御機構を含む。複数のスイッチは、任意のトポロジーで連結されることが可能である。さらに、制御機構は、手動構成を必要とすることなく、第2のプロトコルに基づいて、交換システム内のそれぞれのスイッチを自動的に構成し、交換システムは、対外的に単一のスイッチとして見える。
この実施形態についての変化例では、交換システムの中のそれぞれのスイッチは、それぞれのスイッチ上に形成された論理スイッチに関連付けられる、自動的に構成された識別子を受信する。
さらなる変化例では、論理スイッチは、論理FCスイッチである。加えて、識別子は、FCスイッチドメインIDである。
さらなる変化例では、パケットは、TRILLプロトコルに基づいてスイッチの間で輸送される。それぞれのスイッチは、FCスイッチドメインIDに対応するTRILL RBridge識別子が割り当てられる。
この実施形態についての変化例では、それぞれのスイッチは、交換システムの中の全てのスイッチの構成情報のコピーを維持する。
この実施形態についての変化例では、交換システムは、それぞれのスイッチによって習得されたMACアドレスおよびVLAN情報の記録を維持する、ネームサービスを含む。
本発明はさらに、例えば、以下を提供する。
(項目1)
第1のプロトコルに基づいて、カプセル化されているパケットを伝送するように構成されている1つ以上のポートと、
制御機構であって、
第2のプロトコルに基づいて、論理スイッチを形成することと、
識別子の手動構成を必要とすることなく、前記論理スイッチに対して自動的に割り当てられた識別子を受信することと、
仮想クラスタスイッチに参加することと
を行うように構成されている
制御機構と
を備えている、スイッチ。
(項目2)
前記仮想クラスタスイッチは、任意のトポロジーで連結されることが可能である1つ以上の物理的スイッチを備え、前記仮想クラスタスイッチは、単一のスイッチであるように見える、項目1に記載のスイッチ。
(項目3)
前記第1のプロトコルは、イーサネットプロトコルに基づく、項目1に記載のスイッチ。
(項目4)
前記第1のプロトコルは、Transparent Interconnection of Lots of Links(TRILL)プロトコルであり、前記パケットは、TRILLヘッダの中にカプセル化されている、項目3に記載のスイッチ。
(項目5)
前記制御機構によって形成される前記論理スイッチは、論理ファイバチャネル(FC)スイッチである、項目1に記載のスイッチ。
(項目6)
前記論理スイッチに対して割り当てられた前記識別子は、FCスイッチドメインIDである、項目5に記載のスイッチ。
(項目7)
前記制御機構は、前記仮想クラスタスイッチに対する構成情報のコピーを維持するようにさらに構成されている、項目1に記載のスイッチ。
(項目8)
前記仮想クラスタスイッチに対する構成情報は、前記仮想クラスタスイッチの中の物理的スイッチに割り当てられたいくつかの論理スイッチ識別子を含む、項目7に記載のスイッチ。
(項目9)
媒体アクセス制御(MAC)習得機構をさらに備え、前記MAC習得機構は、
ポートに関連付けられている進入パケットのソースMACアドレスおよび対応するVLAN識別子を習得することと、
習得したMACアドレス、対応するVLAN識別子、および対応するポート情報をネームサービスに伝達することと
を行うように構成されている、項目1に記載のスイッチ。
(項目10)
転送機構をさらに備え、前記転送機構は、受信したパケットを転送する前に、前記受信したパケットの宛先MACアドレスおよび対応するVLAN情報に基づいて、ネームサービスに問い合わせを行うように構成されている、項目1に記載のスイッチ。
(項目11)
交換システムであって、
第1のプロトコルを使用してパケットを輸送するように構成されている複数のスイッチと、
それぞれのスイッチ上に存在する制御機構と
を備え、
前記複数のスイッチは、任意のトポロジーで連結されることが可能であり、
前記制御機構は、手動構成を必要とすることなく、第2のプロトコルに基づいて、前記交換システム内のそれぞれのスイッチを自動的に構成し、前記交換システムは、対外的に単一のスイッチとして見える、
交換システム。
(項目12)
前記交換システムの中のそれぞれのスイッチは、前記それぞれのスイッチ上に形成された論理スイッチに関連付けられている自動的に構成された識別子を受信する、項目11に記載の交換システム。
(項目13)
前記論理スイッチは、論理FCスイッチであり、前記識別子は、FCスイッチドメインIDである、項目12に記載の交換システム。
(項目14)
前記パケットは、TRILLプロトコルに基づいて、スイッチの間で輸送され、前記それぞれのスイッチは、前記FCスイッチドメインIDに対応するTRILL RBridge識別子が割り当てられる、項目13に記載の交換システム。
(項目15)
それぞれのスイッチは、前記交換システムの中の全てのスイッチの構成情報のコピーを維持している、項目11に記載の交換システム。
(項目16)
それぞれのスイッチによって習得されたMACアドレスおよびVLAN情報の記録を維持しているネームサービスをさらに備えている、項目11に記載の交換システム。
(項目17)
第1のプロトコルに基づいて、カプセル化されているパケットを伝送することと、
第2のプロトコルに基づいて、論理スイッチを形成することと、
識別子の手動構成を必要とすることなく、前記論理スイッチに対して自動的に割り当てられた識別子を受信することと、
任意のトポロジーで連結されることが可能である1つ以上の物理的スイッチを備えている仮想クラスタスイッチに参加することであって、前記仮想クラスタスイッチは、単一のスイッチであるように見える、ことと
を含む、方法。
(項目18)
前記論理スイッチは、論理FCスイッチであり、前記論理スイッチに割り当てられる前記識別子は、FCスイッチドメインIDである、項目17に記載の方法。
(項目19)
前記仮想クラスタスイッチに対する構成情報のコピーを維持することをさらに含む、項目17に記載の方法。
(項目20)
第1のプロトコルに基づいて、カプセル化されているパケットを伝送する通信手段と、
制御手段であって、
第2のプロトコルに基づいて、論理スイッチを形成する論理スイッチ手段と、
識別子の手動構成を必要とすることなく、前記論理スイッチに対して自動的に割り当てられた識別子を受信する受信手段と、
仮想クラスタスイッチに参加する参加手段と
を備えている制御手段と
を備えている、スイッチ手段。
図1Aは、本発明の実施形態による、例示的な仮想クラスタスイッチ(VCS)システムを図示する。 図1Bは、本発明の実施形態による、メンバースイッチがCLOSネットワーク内で構成される、例示的なVCSシステムを図示する。 図2は、本発明の実施形態による、仮想クラスタスイッチ内のプロトコルスタックを図示する。 図3は、本発明の実施形態による、仮想クラスタスイッチの例示的な構成を図示する。 図4は、本発明の実施形態による、どのようにして仮想クラスタスイッチを異なるエッジネットワークに接続できるかという例示的な構成を図示する。 図5Aは、本発明の実施形態による、図4の実施例と併せて、どのようにして論理ファイバチャネルが仮想クラスタスイッチの中で形成されるかを図示する。 図5Bは、本発明の一実施形態による、どのようにして論理FCスイッチを物理的イーサネット(登録商標)(Ethernet(登録商標))スイッチ内で作成できるかという実施例を図示する。 図6は、本発明の実施形態による、例示的なVCS構成データベースを図示する。 図7Aは、本発明の実施形態による、仮想クラスタスイッチに参加するスイッチの例示的な過程を図示する。 図7Bは、本発明の一実施形態による、VCSに参加するデフォルトスイッチの過程を図示するフローチャートを提示する。 図7Cは、本発明の一実施形態による、以前に参加したVCSに再参加するスイッチの過程を図示するフローチャートを提示する。 図7Dは、本発明の一実施形態による、参加過程中のスイッチの一般的動作を図示するフローチャートを提示する。 図8は、本発明の一実施形態による、進入フレームの宛先MACアドレスを調べ、VCSにおいてフレームを転送する過程を図示するフローチャートを提示する。 図9は、本発明の一実施形態による、どのようにしてデータフレームおよび制御フレームがVCSを通して輸送されるかを図示する。 図10は、本発明の一実施形態による、自動ポートプロファイルマネージャを含む、論理VCSアクセス層(VAL)を図示する。 図11は、本発明の一実施形態による、ポートプロファイルの自動移行(AMPP)の動作の実施例を図示する。 図12Aは、本発明の一実施形態による、例示的なポートプロファイルコンテンツを図示する。 図12Bは、本発明の一実施形態による、3つの例示的なポートプロファイルを図示する。 図13は、本発明の一実施形態による、ポートプロファイルメンバーシップに基づいて、どのように転送がVM間で達成されるかを図示する。 図13は、本発明の一実施形態による、ポートプロファイルメンバーシップに基づいて、どのように転送がVM間で達成されるかを図示する。 図14は、本発明の一実施形態による、ポートプロファイルを作成および適用する過程を図示するフローチャートを提示する。 図15は、本発明の一実施形態による、例示的なVCSメンバースイッチを図示する。 図16は、本発明の一実施形態による、VCSにおける高度リンク追跡の例示的な構成を図示する。 図17は、本発明の一実施形態による、リンクが故障したときに、高度リンク追跡が、仮想マシンが退出トラフィックを別の経路に切り替えることを可能にする、実施例を図示する。 図18は、本発明の一実施形態による、高度リンク追跡の過程を図示するフローチャートを提示する。 図19は、本発明の一実施形態による、仮想クラスタ交換および高度リンク追跡を促進する、例示的なスイッチを図示する。 図20は、本発明の一実施形態による、仮想ポートグループ化を伴う例示的なVCSネットワーク環境を図示する。 図21Aは、本発明の一実施形態による、仮想ポートグループ化情報を記憶するための例示的なデータ構造を図示する。 図21Bは、本発明の一実施形態による、仮想ポートグループ化の結果としてのVCS内の論理仮想ネットワークを図示する。 図22は、本発明の一実施形態による、仮想ポートグループ化を施行する過程を図示するフローチャートを提示する。 図23は、本発明の一実施形態による、仮想ポートグループ化を用いて仮想クラスタ交換を促進する、例示的なスイッチを図示する。 図24は、本発明の一実施形態による、VCSにおけるネームサービス動作の実施例を図示する。 図25は、本発明の一実施形態による、VCSにおけるイーサネット(登録商標)ネームサービスによって、習得したMAC情報を配信する過程を図示するフローチャートを提示する。 図26は、本発明の一実施形態による、MCTを介して、習得したMACアドレスの情報を配信する過程を図示するフローチャートを提示する。 図27は、本発明の一実施形態による、MCTグループの中のリンク状態を更新する過程を図示するフローチャートを提示する。 図28は、本発明の実施形態による、イーサネット(登録商標)およびMCTネームサービスを用いて仮想クラスタスイッチの形成を促進する、例示的なスイッチを図示する。 図29は、本発明の一実施形態による、VCSにおける例示的な等コストマルチパス化構成を図示する。 図30は、本発明の一実施形態による、VCS輻輳通知の実施例を図示する。 図31は、本発明の一実施形態による、例示的なハイブリッドトランクを図示する。 図32は、本発明の一実施形態による、例示的なVCSメンバースイッチを図示する。 図33は、本発明の一実施形態による、データセンター間通信を促進するためのCNEデバイスを含む、例示的なネットワークアーキテクチャを図示する。 図34は、本発明の一実施形態による、CNE使用可能VCSの例示的な実装を図示する。 図35Aは、本発明の一実施形態による、どのようにしてCNEデバイスが、データセンターを横断して、ブロードキャスト、未知のユニキャスト、およびマルチキャスト(BUM)トラフィックを取り扱うかを示す図を提示する。 図35Bは、本発明の一実施形態による、どのようにしてCNEデバイスが、データセンターを横断してユニキャストトラフィックを取り扱うかを示す図を提示する。 図36は、本発明の実施形態による、vLAGを構築するために2つのCNEデバイスが使用される、実施例を図示する。 図37は、本発明の一実施形態による、例示的なCNEデバイスを図示する。
以下の説明は、当業者が本発明を作製および使用することを可能にするように提示され、特定の用途およびその要件との関連で提供される。開示された実施形態への種々の修正が、当業者に容易に明白となり、本発明の精神および範囲から逸脱することなく、本明細書で定義される一般原則が、他の実施形態および用途に適用され得る。したがって、本発明は、示された実施形態に限定されないが、請求項と一致する最も幅広い範囲に合致する。
(概観)
本発明の実施形態では、多用途で費用効率的な拡張可能交換システムを構築することの問題は、従来のトランスポートプロトコル上で自動構成能力を伴う制御プレーン(ファイバチャネル制御プレーン等)を作動させ、それにより、煩わしい手動構成を必要とすることなく、単一の拡張可能論理スイッチを形成するようにいくつかのスイッチが相互接続されることを可能にすることによって、解決される。結果として、いくつかのより小さい物理的スイッチを使用して、大規模論理スイッチ(本明細書では「仮想クラスタスイッチ」またはVCSと呼ばれる)を形成することができる。各物理的スイッチ上で作動する制御プレーンによって提供される自動構成能力は、ポートおよびリンクの厄介な手動構成を必要とすることなく、任意の数のスイッチが任意のトポロジーで接続されることを可能にする。この特徴は、対外的に単一の論理スイッチと見なすことができる、大型クラスタスイッチを構築するために、多くのより小さく安価なスイッチを使用することを可能にする。
仮想クラスタスイッチは、従来のスイッチスタッキングと同じではないことに留意されたい。スイッチスタッキングでは、複数のスイッチが、特定のトポロジーに基づいて、共通場所(しばしば同じラック内にある)で相互接続され、特定の方法で、手動で構成される。これらの積層スイッチは、典型的には、共通アドレス、例えば、IPアドレスを共有するため、対外的に単一のスイッチとしてアドレス指定することができる。さらに、スイッチスタッキングは、ポートおよびスイッチ間リンクの有意量の手動構成を必要とする。手動構成の必要性は、スイッチスタッキングが、大規模交換システムを構築する際に実用的オプションとなることを妨げる。スイッチスタッキングによって課されるトポロジー制限もまた、積層することができるスイッチの数を制限する。これは、スイッチユニットの数とともに、全体的なスイッチ帯域幅が十分に拡張することを可能にする、スタックトポロジーを設計することが、不可能ではないにしても、非常に困難なためである。
対照的に、VCSは、個々のアドレスを伴う任意数のスイッチを含むことができ、任意トポロジーに基づくことができ、広範囲に及ぶ手動構成を必要としない。スイッチは、同じ場所に存在することも異なる場所にわたって分布することもできる。これらの特徴は、スイッチスタッキングの固有の限界を克服し、単一の論理スイッチとして扱うことができる、大型「スイッチファーム」を構築することを可能にする。VCSの自動構成能力により、個々の物理的スイッチは、ネットワークの残りの部分へのサービスを混乱させることなく、動的にVCSに参加することもVCSから撤退することもできる。
さらに、VCSの自動および動的構成可能性は、拡張可能性を犠牲にすることなく、分散および「成長に応じた支払い」様式で、ネットワークがその交換システムを構築することを可能にする。変化するネットワーク条件に応答するVCSの能力は、ネットワーク負荷がしばしば時間とともに変化する、仮想コンピュータ環境内で、それを理想的な解決法にする。
本開示は、トランスポートプロトコルとしてのTransparent Interconnection of Lots of Links(TRILL)、および制御プレーンプロトコルとしてのファイバチャネル(FC)ファブリックプロトコルに基づく実施例を使用して提示されているが、本発明の実施形態は、TRILLネットワーク、または特定の開放型システム間相互接続参照モデル(OSI参照モデル)層において定義されるネットワークに限定されない。例えば、VCSはまた、輸送のためにマルチプロトコルラベルスイッチング(MPLS)プロトコルを実行するスイッチを用いて、実装することもできる。加えて、「RBridge」および「スイッチ」という用語は、本開示で交換可能に使用される。「RBridge」という用語の使用は、本発明の実施形態をTRILLネットワークのみに限定しない。TRILLプロトコルは、http://tools.ietf.org/html/で入手可能なIETF原稿「RBridges: Base Protocol Specification」で説明されている。
「仮想クラスタスイッチ」、「仮想クラスタスイッチング」、および「VCS」という用語は、単一の論理スイッチとして動作する一群の相互接続された物理的スイッチを指す。これらの物理的スイッチ用の制御プレーンは、VCSに参加したときに、手動構成がほとんど、または全く必要とされないように、所与の物理的スイッチを自動的に構成する能力を提供する。VCSは、特定のベンダからの特定の製品群に限定されない。加えて、「VCS」は、本明細書で説明される交換システムを名付けるために使用することができる唯一の用語である。「イーサネット(登録商標)ファブリック」、「イーサネット(登録商標)ファブリックスイッチ」、「ファブリックスイッチ」、「クラスタスイッチ」、「イーサネット(登録商標)メッシュスイッチ」、および「メッシュスイッチ」等の他の用語もまた、同じ交換システムを表すために使用することができる。したがって、いくつかの実施形態では、これらの用語および「VCS」は、交換可能に使用することができる。
「RBridge」という用語は、IETF原稿「RBridges: Base Protocol Specification」で説明されるように、TRILLプロトコルを実装するブリッジであるルーティングブリッジを指す。本発明の実施形態は、RBridgeの間の用途に限定されない。他の種類のスイッチ、ルータ、およびフォワーダも使用することができる。
「フレーム」または「パケット」という用語は、ネットワークを横断して一緒に輸送することができる、一群のビットを指す。「フレーム」は、本発明の実施形態をレイヤ2ネットワークに限定するものとして解釈されるべきではない。「パケット」は、本発明の実施形態をレイヤ3ネットワークに限定するものとして解釈されるべきではない。「フレーム」または「パケット」は、「セル」または「データグラム」等の一群のビットを指す他の用語に置換することができる。
(VCSアーキテクチャ)
図1Aは、本発明の実施形態による、例示的な仮想クラスタスイッチシステムを図示する。この実施例では、VCS100は、物理的スイッチ101、102、103、104、105、106、および107を含む。所与の物理的スイッチが、そのポート上でイーサネット(登録商標)ベースのトランスポートプロトコル(例えば、そのスイッチ間ポート上でTRILL、その外部ポート上でイーサネット(登録商標)トランスポート)を実行する一方で、その制御プレーンは、FCスイッチファブリックプロトコルスタックを実行する。TRILLプロトコルは、(TRILLがルーティング機能をイーサネット(登録商標)フレームに提供するので)ルート指定された様式で、VCS100内で、かつVCS100を横断して、イーサネット(登録商標)フレームの輸送を促進する。FCスイッチファブリックプロトコルスタックは、従来のFCスイッチファブリックが形成され自動的に構成される方法と同様の方法で、個々の物理的スイッチの自動構成を促進する。一実施形態では、VCS100は、超大容量イーサネット(登録商標)スイッチとして対外的に現れることができる。FCネットワークアーキテクチャ、プロトコル、ネーミング/アドレス関連、および種々の標準についてのさらなる詳細は、NCITS/ANSI T11委員会(www.t11.org)から入手可能な文書、およびTom Clarkによる「Designing Storage Area Networks」、2nd Ed., Addison Wesley, 2003等の公表されている文献で入手可能であり、その開示は、それらの全体で参照することにより本明細書に組み込まれる。
物理的スイッチは、いくつかのポートを外部使用(すなわち、VCS外部のエンドホストまたは他のスイッチに連結されるように)専用にし、他のポートをスイッチ間接続専用にし得る。外部から見ると、VCS100は、外側からのデバイスへの1つのスイッチであるように思われ、物理的スイッチのうちのいずれかからの任意のポートが、VCS上の1つのポートと見なされる。例えば、ポート群110および112は、両方ともVCS外部ポートであり、共通物理的スイッチ上のポートであるかのように同等に扱うことができるが、スイッチ105および107は、2つの異なる場所に存在し得る。
物理的スイッチは、データセンターまたは中央オフィス等の共通場所に存在することも、異なる場所に分布することもできる。したがって、同じ場所で1つ以上のシャーシに収納された多くのより小さく安価なスイッチを使用して、大規模集中型交換システムを構築することが可能である。また、異なる場所に配置された物理的スイッチを有することも可能であり、したがって、複数の場所からアクセスすることができる論理スイッチを作成する。物理的スイッチを相互接続するために使用されるトポロジーもまた、多彩であり得る。VCS100は、メッシュトポロジーに基づく。さらなる実施形態では、VCSは、リング、ツリー、または他の種類のトポロジーに基づくことができる。
一実施形態では、VCSのプロトコルアーキテクチャは、Fibre Channel Framing and Signaling−2(FC−FS−2)標準に基づく輸送上でエミュレートされる、標準IEEE 802.1Qイーサネット(登録商標)ブリッジからの要素に基づく。結果として生じるスイッチは、VCSを通して、エッジスイッチのうちの1つからの進入イーサネット(登録商標)ポートから、異なるエッジ上の退出イーサネット(登録商標)ポートへ、フレームを透過的に切り替えることが可能である。
その自動構成能力により、ネットワーク需要が増加するにつれて、VCSを動的に拡張することができる。加えて、手動構成の負担なしで、多くのより小さい物理的スイッチを使用して、大規模スイッチを構築することができる。例えば、いくつかのより小さいスイッチを使用して、高スループットの完全非ブロックキングスイッチを構築することが可能である。大型非ブロッキングスイッチを構築するために小型スイッチを使用するこの能力は、スイッチの複雑性に関連付けられる費用を有意に削減する。図1Bは、本発明の一実施形態による、CLOSネットワーク内で接続された、そのメンバースイッチを伴う例示的なVCSを提示する。この実施例では、VCS120は、3段CLOSネットワーク内で接続された8つの4x4スイッチおよび4つの2x2スイッチを使用して、完全非ブロッキング8x8スイッチを形成する。より多くのポート数を伴う大規模スイッチを同様に構築することができる。
図2は、本発明の実施形態による、仮想クラスタスイッチ内のプロトコルスタックを図示する。この実施例では、2つの物理的スイッチ202および204が、VCS200内で図示されている。スイッチ202は、進入イーサネット(登録商標)ポート206と、スイッチ間ポート208とを含む。スイッチ204は、退出イーサネット(登録商標)ポート212と、スイッチ間ポート210とを含む。進入イーサネット(登録商標)ポート206は、外部デバイスからイーサネット(登録商標)フレームを受信する。イーサネット(登録商標)ヘッダは、媒体アクセス制御(MAC)層プロトコルによって処理される。MAC層の上には、フレームのイーサネット(登録商標)ヘッダから抽出された情報を転送データベース(FDB)214に渡す、MACクライアント層がある。典型的には、従来のIEEE 802.1Qイーサネット(登録商標)スイッチでは、FDB214は、スイッチの中でローカルに維持され、宛先MACアドレスおよびイーサネット(登録商標)フレームの中で示されたVLANに基づいて参照を行う。しかしながら、VCS200は、単一の物理的スイッチではないため、FDB214が、退出スイッチの識別子(すなわち、スイッチ204の識別子)を返信する。一実施形態では、FDB214は、全ての物理的スイッチの間で複製および分散されるデータ構造である。つまり、全ての物理的スイッチが、FDB214の独自のコピーを維持する。所与の物理的スイッチが、進入ポートを介して到達可能であるものとしてイーサネット(登録商標)フレームのソースMACアドレスおよびVLAN(従来のIEEE 802.1Qイーサネット(登録商標)スイッチが習得するものと同様である)を習得したときに、習得されたMACおよびVLAN情報は、進入イーサネット(登録商標)ポートおよびスイッチ情報ととともに、全ての物理的スイッチへ伝搬されるので、FDB214の全ての物理的スイッチのコピーが同期されたままであり得る。これは、VCSへのエンドステーションまたはエッジネットワークの接続性への変更があったときに、古くなった、または誤った情報に基づく転送を防止する。
進入スイッチ202と退出スイッチ204との間のイーサネット(登録商標)フレームの転送は、スイッチ間ポート208および210を介して行われる。2つのスイッチ間ポートの間で輸送されるフレームは、TRILL標準に従って、外部MACヘッダおよびTRILLヘッダの中にカプセル化されている。所与のスイッチ間ポートに関連付けられるプロトコルスタックは、(下から上へ)MAC層、TRILL層、FC−FS−2層、FC E−ポート層、およびFCリンクサービス(FC−LS)層を含む。FC−LS層は、物理的スイッチの近隣の接続性情報を維持すること、およびFCルーティング情報ベース(RIB)222にデータ投入することに関与する。この動作は、FCスイッチファブリックで行われることと同様である。FC−LSプロトコルはまた、VCS200における物理的スイッチの参加および離脱を取り扱うことにも関与する。FC−LS層の動作は、その開示がその全体で参照することにより本明細書に組み込まれる、http://www.t11.org/ftp/t11/member/fc/ls/06−393v5.pdfで入手可能なFC−LS標準で特定されている。
動作中、FDB214が、進入イーサネット(登録商標)フレームの宛先MACアドレスに対応する退出スイッチ204に戻すときに、宛先退出スイッチの識別子がパスセレクタ218へ渡される。パスセレクタ218は、RIB222と併せて、ファブリック最短経路の第1の(FSPF)ベースのルート参照を行い、VCS200内の次のホップスイッチを識別する。言い換えれば、ルーティングは、FCファブリックスイッチで行われることと同様に、プロトコルスタックのFC部分によって行われる。
また、各物理的スイッチには、アドレスマネージャ216およびファブリックコントローラ220も含まれる。アドレスマネージャ216は、スイッチが最初にVCSに参加するときに物理的スイッチのアドレスを構成することに関与する。例えば、スイッチ202が最初にVCS200に参加するときに、アドレスマネージャ216は、VCS200内のスイッチを識別するために後に使用される、新しいFCスイッチドメインIDを取り決めることができる。ファブリックコントローラ220は、VCS200の制御プレーン上に形成される論理FCスイッチファブリックを管理および構成することに関与する。
VCSのプロトコルアーキテクチャを理解する1つの方法は、イーサネット(登録商標)/TRILLトランスポートを伴うFCスイッチファブリックとしてVCSを見なすことである。外部視点からの各物理的スイッチは、TRILL RBridgeであるように見える。しかしながら、スイッチの制御プレーンは、FCスイッチファブリックソフトウェアを実装する。言い換えれば、本発明の実施形態は、FC制御ソフトウェア上で作動する「イーサネット(登録商標)スイッチファブリック」の構築を促進する。この独特の組み合わせは、VCSに自動構成能力を提供し、非常に拡張可能な様式でユビキタスイーサネット(登録商標)サービスを提供することが可能である。
図3は、本発明の実施形態による、仮想クラスタスイッチの例示的な構成を図示する。この実施例では、VCS300は、4つの物理的スイッチ302、304、306、および308を含む。VCS300は、2つの集約スイッチ310および312に連結される、アクセス層を構成する。VCS300内の物理的スイッチがリングトポロジーで接続されることに留意されたい。集約スイッチ310または312は、VCS300内の物理的スイッチのうちの任意のものに接続することができる。例えば、集約スイッチ310は、物理的スイッチ302および308に連結される。スイッチ302および308上の対応ポートが同じ論理スイッチVCS300からであると考えられるため、これら2つのリンクは、VCS300への基幹リンクと見なされる。VCSがなければ、そのようなトポロジーが可能ではなかったであろうことに留意されたい。なぜなら、FDBが同期されたままであることが必要とされ、それがVCSによって促進されるからである。
図4は、本発明の実施形態による、どのようにして仮想クラスタスイッチを異なるエッジネットワークに接続できるかという例示的な構成を図示する。この実施例では、VCS400は、FCスイッチファブリック制御プレーンによって制御される、いくつかのTRILL RBridge402、404、406、408、および410を含む。また、VCS400には、RBridge412、414、および416も含まれる。各RBridgeは、外部エッジネットワークに接続することができる、いくつかのエッジポートを有する。
例えば、RBridge412は、10GEポートを介してホスト420および422と連結される。RBridge414は、10GEポートを介してホスト426に連結される。これらのRBridgeは、VCS400における他のTRILL RBridgeと接続するためのTRILLベースのスイッチ間ポートを有する。同様に、RBridge416は、ホスト428、およびホスト424を含む外部ネットワークに連結される外部イーサネット(登録商標)スイッチ430に連結される。加えて、ネットワーク機器はまた、VCS400における物理的スイッチのうちの任意のものに直接連結することができる。ここで図示されるように、TRILL RBridge408は、データ記憶装置417に連結され、TRILL RBridge410は、データ記憶装置418に連結される。
VCS400内の物理的スイッチは、「TRILL RBridge」として標識されるが、それらがFCスイッチファブリック制御プレーンによって制御されるという意味で、従来のTRILL RBridgeとは異なる。言い換えれば、スイッチアドレスの割当、リンク発見および維持、トポロジー集束、ルーティング、および転送は、対応FCプロトコルによって取り扱うことができる。具体的には、各TRILL RBridgeのスイッチIDまたはニックネームは、対応FCスイッチドメインIDからマップされ、スイッチがVCS400(FCスイッチファブリックと論理的に同様である)に参加するときに自動的に割り当てることができる。
TRILLは、VCS400内のスイッチ間の輸送として使用されるのみであることに留意されたい。これは、TRILLがネイティブイーサネット(登録商標)フレームに容易に適応できるためである。また、TRILL標準は、(VCSにおける実際のルーティングはFCスイッチファブリックプロトコルによって行われるが)任意トポロジーを伴う任意のルート指定されたネットワークで使用することができる、使用の準備ができている転送機構を提供する。本発明の実施形態は、輸送としてTRILLのみを使用することに限定されるべきではない。公的または専有のいずれか一方である、他のプロトコル(マルチプロトコルラベルスイッチング(MPLS)またはインターネットプロトコル(IP)等)も、輸送に使用することができる。
(VCS形成)
一実施形態では、VCSは、各スイッチの制御プレーンの中で論理FCスイッチのインスタンスを作成することによって作成される。論理FCスイッチが作成された後に、仮想一般ポート(G_Portとして表される)が、RBridge上の各イーサネット(登録商標)ポートに対して作成される。G_Portは、FCスイッチ視点からは通常のG_Port挙動をとる。しかしながら、この場合、物理的リンクがイーサネット(登録商標)に基づくため、G_PortからFC F_PortまたはE_Portのいずれか一方への特定の遷移は、基礎的リンクおよび物理層プロトコルによって決定される。例えば、物理的イーサネット(登録商標)ポートが、VCS能力が欠けている外部デバイスに接続される場合、対応G_Portは、F_Portに変わる。他方で、物理的イーサネット(登録商標)ポートがVCS能力を伴うスイッチに接続され、反対側のスイッチがVCSの一部であることが確認された場合、G_Portは、E_Portに変わる。
図5Aは、本発明の実施形態による、図4の実施例と併せて、どのようにして論理ファイバチャネルが仮想クラスタスイッチの中で形成されるかを図示する。RBridge412は、仮想論理FCスイッチ502を含む。ホスト420および422に連結される物理的イーサネット(登録商標)ポートに対応して、論理FCスイッチ502は、ホスト420および422に論理的に連結される、2つの論理F_Portを有する。加えて、2つの論理N_Port506および504が、それぞれ、ホスト420および422に対して作成される。VCS側では、論理FCスイッチ502は、VCSにおける論理FCスイッチファブリックの中の他の論理FCスイッチと連結される、3つの論理E_Portを有する。
同様に、RBridge416は、仮想論理FCスイッチ512を含む。ホスト428および外部スイッチ430に連結される物理的イーサネット(登録商標)ポートに対応して、論理FCスイッチ512は、ホスト428に連結される論理F_Portと、スイッチ430に連結される論理FL_Portとを有する。加えて、論理N_Port510が、ホスト428に対して作成され、論理NL_Port508が、スイッチ430に対して作成される。論理FL_Portは、そのポートが通常のホストの代わりにスイッチ(スイッチ430)に連結されるので、作成され、したがって、論理FCスイッチ512は、スイッチ430につながるアービトレート型ループトポロジーをとることに留意されたい。論理NL_Port508は、スイッチ430上の対応NL_Portを表すために、同じ推論に基づいて作成される。VCS側では、論理FCスイッチ512は、VCSにおける論理FCスイッチファブリックの中の他の論理FCスイッチと連結される、2つの論理E_Portを有する。
図5Bは、本発明の一実施形態による、どのようにして論理FCスイッチを物理的イーサネット(登録商標)スイッチ内で作成できるかという実施例を図示する。「ファブリックポート」という用語は、VCSの中の複数のスイッチを連結するために使用されるポートを指す。クラスタリングプロトコルは、ファブリックポート間の転送を制御する。「エッジポート」という用語は、VCSの中の別のスイッチユニットに現在連結されていないポートを指す。標準IEEE 802.1Qおよびレイヤ3プロトコルは、エッジポート上の転送を制御する。
図5Bに図示される実施例では、論理FCスイッチ521は、物理的スイッチ(RBridge)520内で作成される。論理FCスイッチ521は、他のスイッチユニットへの論理スイッチ間リンク(ISL)を介して、FCスイッチファブリックプロトコルに参加し、物理的FCスイッチと同じように、それに割り当てられたFCスイッチドメインIDを有する。言い換えれば、ドメイン割付、主要スイッチ選択、および競合解決が、物理的FC ISL上で機能するのと同じように機能する。
物理的エッジポート522および524が、それぞれ、論理F_Port532および534にマップされる。加えて、物理的ファブリックポート526および528が、それぞれ、論理E_Port536および538にマップされる。最初に、(例えば、起動シーケンス中に)論理FCスイッチ521が作成されるときに、論理FCスイッチ521は、4つの物理的ポートに対応する、4つのG_Portを有する。これらのG_Portは、物理的ポートに連結されるデバイスに応じて、後にF_PortまたはE_Portにマップされる。
近隣発見は、2つのVCS対応スイッチの間のVCS形成における第1のステップである。VCS能力の検証は、リンクが最初に作成されたきに、2つの近隣スイッチの間のハンドシェイク過程によって実行できることが仮定される。
(分散構成管理)
一般に、VCSは、複数のメンバースイッチから成る1つの統一スイッチとして見える。したがって、VCSの作成および構成は、決定的に重要である。VCS構成は、全てのスイッチにわたって複製および分散される分散型データベースに基づく。言い換えれば、各VCSメンバースイッチは、VCS構成データベースのコピーを維持し、データベースへの任意の変更は、全てのメンバースイッチに伝搬される。結果として、ネットワーク管理者は、例えば、任意のメンバースイッチからコマンドラインインターフェース(CLI)を実行することによって、どこからでもVCSの任意の部分を構成することができる。
一実施形態では、VCS構成データベースは、VCSのグローバル構成表(GT)と、スイッチ記述表(ST)のリストとを含み、リストの各々は、VCSメンバースイッチを記述する。その最も単純な形態で、メンバースイッチは、グローバル表と、1つのスイッチ記述表、例えば、[<GT><ST>]とを含む、VCS構成データベースを有することができる。複数のスイッチを伴うVCSは、単一のグローバル表と、複数のスイッチ記述表、例えば、[<GT><ST0><ST1>・・・<STn−1>]とを有する、構成データベースを有する。数字nは、VCSの中のメンバースイッチの数に対応する。一実施形態では、GTは、少なくとも、VCS ID、VCSの中のノードの数、VCSによってサポートされるVLANのリスト、VCSの中の全てのスイッチのリスト(例えば、全ての能動スイッチのFCスイッチドメインIDのリスト)、および(論理FCスイッチファブリックにあるような)主要スイッチのFCスイッチドメインIDといった情報を含むことができる。スイッチ記述表は、少なくとも、IN_VCSフラグ、スイッチが論理FCスイッチファブリックの中の主要スイッチであるかどうかという指示、スイッチのFCスイッチドメインID、対応論理FCスイッチのFCワールドワイドネーム(WWN)、スイッチのマップされたID、および随意で、スイッチのIPアドレスといった情報を含むことができる。以下で説明されるように、スイッチは、VCSに参加するときに、それに動的に割り当てられたIPアドレスを有することができることに留意されたい。IPアドレスは、スイッチに割り当てられたFCスイッチドメインIDへの1対1のマッピングに由来し、それを有することができる。
加えて、各スイッチのグローバル構成データベースは、トランザクションIDに関連付けられる。トランザクションIDは、グローバル構成データベースに発生した最新トランザクション(例えば、更新または変更)を特定する。2つのスイッチの中のグローバル構成データベースのトランザクションIDは、どのデータベースが最新の情報を有するかを決定するために、比較することができる(すなわち、最新のトランザクションIDを伴うデータベースがより最新である)。一実施形態では、トランザクションIDは、スイッチのシリアル番号に順次トランザクション番号を加えたものである。この構成は、どのスイッチが最新構成を有するかを明確に解決することができる。
図6に図示されるように、VCSメンバースイッチは、典型的には、VCS構成データベース600、およびデフォルトスイッチ構成表604といった、そのインスタンスを記述する2つの構成表を維持する。VCS構成データベース600は、スイッチがVCSの一部であるときのVCS構成を記述する。デフォルトスイッチ構成表604は、スイッチのデフォルト構成を記述する。VCS構成データベース600は、VCS識別子(VCS_IDとして表される)と、VCS内のVLANリストとを含むGT602を含む。また、VCS構成データベース600には、ST0、ST1、およびSTn等のいくつかのSTが含まれる。各STは、対応メンバースイッチのMACアドレスおよびFCスイッチドメインID、ならびにスイッチのインターフェース詳細を含む。各スイッチはまた、VCS内のスイッチインデックスである、VCSによってマップされたIDも有することに留意されたい。
一実施形態では、各スイッチはまた、VCS内のスイッチインデックスである、VCSによってマップされたID(「mappedID」として表される)も有する。このmappedIDは、一意的であり、VCS内で存続する。つまり、スイッチが初めてVCSに参加するときに、VCSは、mappedIDをスイッチに割り当てる。このmappedIDは、たとえスイッチがVCSから撤退したとしても、スイッチと共に存続する。スイッチが後にVCSに再び参加するときに、同じmappedIDが、スイッチに対する以前の構成情報を読み出すためにVCSによって使用される。この特徴は、VCSの中の構成オーバーヘッドの量を低減することができる。また、メンバースイッチがVCSに参加し、VCSによって構成される度に、動的に割り当てられたFCファブリックドメインIDが変化するため、持続的なmappedIDは、VCSに再参加するときにVCSが以前に構成されたメンバースイッチを「認識する」ことを可能にする。
デフォルトスイッチ構成表604は、VCS構成データベース600の中の対応STを指し示すmappedIDに対する入力を有する。VCS構成データベース600のみが、複製され、VCSの中の全てのスイッチに分散されることに留意されたい。デフォルトスイッチ構成表604は、特定のメンバースイッチにローカルである。
デフォルトスイッチ構成表604の中の「IN_VCS」値は、メンバースイッチがVCSの一部であるかどうかを示す。スイッチは、2つ以上のスイッチドメインを有するFCスイッチファブリックによってFCスイッチドメインのうちの1つが割り当てられるときに、「VCSの中にある」と見なされる。スイッチが、1つだけのスイッチドメイン、すなわち、それ自身のスイッチドメインのみを有するFCスイッチファブリックの一部である場合、スイッチは、「VCSの中にない」と見なされる。
スイッチが最初にVCSに接続されるときに、論理FCスイッチファブリック形成過程は、新しいスイッチドメインIDを参加スイッチに割り付ける。一実施形態では、新しいスイッチに直接接続されたスイッチのみが、VCS参加演算に参加する。
2つのデータベースのトランザクションIDの比較に基づいて、参加スイッチのグローバル構成データベースが最新であり、VCSのグローバル構成データベースと同期している場合(例えば、メンバースイッチがVCSから一時的に切断され、その後間もなく再接続される場合)、些細な合併が行われることに留意されたい。つまり、参加スイッチをVCSに接続することができ、グローバルVCS構成データベースへの変更および更新が必要とされない。
スイッチがVCSに参加するとき(以下の説明を参照)、VCSは、FCスイッチドメインIDを、参加スイッチ内に形成される論理FCスイッチに割り当てる。参加スイッチには、FCスイッチドメインIDに対応するIPアドレス(一実施形態ではVCS内であり得る)を自動的に割り当てられることができる。例えば、参加スイッチのIPアドレスは、127.10.10.FC_domain_IDであり得る。加えて、参加スイッチ上の各ポートには、そのスイッチ上でそのポートに特有である、MACアドレスを自動的に割り当てることができる。例えば、参加スイッチ上のポートには、OUI:FC_domain_ID:0:0のMACアドレスを割り当てることができ、OUIは、ポートの組織的に一意的な識別子(Organizationally Unique Identifier)であり、FC_domain_IDは、論理FCスイッチに割り当てられたスイッチドメインIDである。IPおよびMACアドレス割当過程は、FCスイッチ形成および参加/合併過程を制御する、スイッチ内のソフトウェアの一部であり得る。
所与のVCSメンバースイッチに対する自動的に割り当てられたスイッチIPアドレスおよびポートMACアドレスは、スイッチ上の任意のポートが、VCS内のどこからでもリモートで構成されることを可能にする。例えば、所与のメンバースイッチの構成コマンドは、VCSの中の任意のメンバースイッチに接続されたホストから発行することができ、そのIPアドレス、および随意で1つ以上のポートMACアドレスによって構成される、スイッチを識別する。そのような構成コマンドは、それらの各々がポート特有であり得る、VLAN構成、サービスの質(QoS)構成、および/またはアクセス制御構成についての情報を含む場合がある。一実施形態では、スイッチの構成に対する変更は、暫定的にスイッチに伝送される。スイッチが変更を確認し、有効にした後に、変更を行うコマンドが、VCSの中の全てのメンバースイッチに伝送されるので、グローバル構成データベースは、VCSの全体を通して更新することができる。さらなる実施形態では、変更は、VCSの中の全てのメンバースイッチに暫定的に伝送され、変更を行うコマンドは、全てのスイッチが暫定的な変更を確認し、有効にした後のみに送信される。
(VCS参加および合併)
図7Aは、本発明の実施形態による、仮想クラスタスイッチに参加するスイッチの例示的な過程を図示する。この実施例では、スイッチ702が既存のVCS内にあり、スイッチ704がVCSに参加しようとしていることが仮定される。動作中、スイッチ702および704の両方が、FC状態変更通知(SCN)過程を誘起する。続いて、スイッチ702および704の両方は、PRE−INVITE演算を行う。PRE−INVITE演算は、以下の過程を伴う。
スイッチがリンクを介してVCSに接続するときに、リンクの各端上の両方の近隣は、該当する場合、前身からの<Prior VCS_ID, SWITCH_MAC, mappedID, IN_VCS>というVCSの4組を他方のスイッチに提示する。そうでなければ、スイッチは、デフォルト組を相手に提示する。VCS_ID値が以前の参加演算から設定されなかった場合、−1のVCS_ID値が使用される。加えて、スイッチのIN_VCSフラグが0に設定されている場合、そのインターフェース構成を近隣スイッチに送信する。図7の実施例では、スイッチ702および704の両方は、上記の情報を他方のスイッチに送信する。
上記のPRE−INVITE演算後に、参加過程のためのドライバスイッチが選択される。デフォルトで、スイッチのIN_VCS値が1であり、他方のスイッチのIN_VCS値が0である場合、IN_VCS=1を伴うスイッチは、ドライバスイッチとして選択される。両方のスイッチが、それらのIN_VCS値を1として有する場合、何も起こらず、すなわち、PRE−INVITE演算は、INVITE演算につながらない。両方のスイッチが、それらのIN_VCS値を0として有する場合、スイッチのうちの1つは、駆動スイッチ(例えば、より低いFCスイッチドメインID値を伴うスイッチ)となるように選択される。次いで、駆動スイッチのIN_VCS値は、1に設定され、参加過程を駆動する。
スイッチ702がスイッチとして選択された後に、次いで、スイッチ702は、スイッチ704のPRE−INVITE情報の中のmappedID値に対応するVCS構成データベース内のスロットを留保しようとする。次に、スイッチ702は、任意のmappedIDスロットの中のスイッチ704のMACアドレスについて、VCS構成データベースを検索する。そのようなスロットが見つかった場合、スイッチ702は、識別したスロットから全ての情報を留保したスロットの中へコピーする。そうでなければ、スイッチ702は、PRE−INVITE中に受信された情報をスイッチ704からVCS構成データベースの中へコピーする。次いで、更新したVCS構成データベースは、データベースの中の準備演算として、VCSの中の全てのスイッチに伝搬される(更新がまだデータベースに行われていないことに留意されたい)。
後に、準備演算は、構成の対立をもたらすことも、もたらさないこともあり得、対立は、警告または致命的エラーとしてフラグされ得る。そのような対立は、参加スイッチのローカル構成またはポリシー設定とVCS構成との間の不一致を含むことができる。例えば、特定のVLAN値を伴うパケットが通過することを可能にするように、参加スイッチが手動で構成されるが、VCSが、このVLAN値がこの特定のRBridgeからスイッチファブリックに進入することを可能にしない(例えば、VLAN値が他の目的で留保されない)場合に対立が発生する。一実施形態では、準備演算は、他のVCSメンバースイッチと連携して、ローカルに、および/またはリモートで取り扱われる。解決不可能な対立がある場合、スイッチ702は、PRE−INVITE−FAILEDメッセージをスイッチ704に送信する。そうでなければ、スイッチ702は、VCSの合併したスイッチ図(すなわち、更新したVCS構成データベース)を用いてINVITEメッセージを生成する。
INVITEメッセージを受信すると、スイッチ704は、INVITEを容認または拒絶する。INVITEは、INVITEにおける構成が、スイッチ704が容認できるものと対立する場合に拒絶される。INVITEが容認可能である場合、スイッチ704は、それに応じてINVITE−ACCEPTメッセージを返送する。次いで、INVITE−ACCEPTメッセージは、VCSの中の全てのメンバースイッチの全体を通して、最終データベースコミットを誘起する。言い換えれば、更新されるVCS構成データベースが更新され、複製され、VCSの中の全てのメンバースイッチに分散される。
VCSの中の1つより多くのスイッチが、新しい参加スイッチへの接続性を有する場合、これら全ての近隣メンバースイッチは、PRE−INVITEを新しい参加スイッチに送信し得る。参加スイッチは、参加過程を完了するために、1つだけのPRE−INVITEを無作為に選択された近隣メンバースイッチに送信することができる。参加過程の種々の使用事例が以下で説明される。以下の説明では、「参加スイッチ」とは、VCSに参加しようとするスイッチを指す。「近隣VCSメンバースイッチ」または「近隣メンバースイッチ」とは、参加スイッチが接続されるVCSメンバースイッチを指す。
(スイッチを容認するように事前設定準備されるVCS) VCSは、参加スイッチの随意に事前に割り付けられたmappedIDを伴う参加スイッチのMACアドレスを伴って、事前構成される(例えば、グローバル構成データベース)。参加スイッチは、その既存の構成のVCS_IDフィールドの中で任意の値を持つことが許可され得る。近隣VCSメンバースイッチは、FCスイッチドメインIDおよび適正なVCS IDを、INVITEメッセージにおいて、参加スイッチに割り当てることができる。一実施形態では、参加スイッチは、(例えば、VCSに対応する値でデータ投入された、mappedID、VCS_ID、およびIN_VCS等のデフォルトスイッチ構成表の中のパラメータを伴って)既存のVCSに参加するように事前設定準備され得る。スイッチがVCSに参加するときに、事前設定準備パラメータが、グローバル構成データベースの中で同じmappedIDを伴うスロットを保証しない場合、スイッチは、以下で説明されるデフォルト参加手順に戻ることができる。
(VCSに参加するデフォルトスイッチ) デフォルトスイッチは、VCSへの以前の参加の記録がないスイッチである。スイッチは、工場出荷時状態に強制されている場合にデフォルトスイッチになることができる。参加デフォルトスイッチは、その初期構成情報(例えば、そのインターフェース構成詳細)を近隣VCSメンバースイッチに提示することができる。一実施形態では、単調に増加する数に基づいて、VCS構成データベースの中のスロットが選択され、該数は、参加スイッチのmappedIDとして使用される。参加スイッチに割り付けられる対応FCスイッチドメインIDおよび参加スイッチのMACが、それに従ってこのスロットにおいて更新される。次いで、近隣VCSメンバースイッチは、準備トランザクションを開始し、準備トランザクションは、全てのVCSメンバースイッチに伝搬し、各VCSメンバースイッチからの参加スイッチの構成情報の明白な立証を要求する。準備トランザクションが失敗した場合、PRE−INVITE−FAILEDメッセージが参加スイッチに送信され、参加過程が中断される。
図7Bは、本発明の一実施形態による、VCSに参加するデフォルトスイッチの過程を図示するフローチャートを提示する。動作中、デフォルト構成を伴う参加スイッチが近隣VCSメンバースイッチに接続された後に、VCSメンバースイッチが、グローバル構成データベースの中のスロットを留保する(動作722)。留保したスロットは、参加スイッチにも割り当てられるmappedID値に対応する。後に、近隣VCSメンバースイッチ内の論理FCスイッチが、参加スイッチのFCスイッチドメインIDを割り付ける(動作724)。この動作は、FCスイッチファブリック参加過程における同様のファブリックログイン動作に似ている。
次いで、近隣VCSメンバースイッチが、割り付けられたFCスイッチドメインIDおよび参加スイッチのMACアドレスを用いて、グローバル構成データベースの中の留保したスロットを暫定的に更新する(動作726)。次に、近隣VCSメンバースイッチが、参加スイッチの暫定的構成をVCSの中の全てのメンバースイッチに伝送し(動作728)、参加スイッチの構成情報が全てのVCSメンバースイッチによって確認され、有効にされるかどうかを決定する(動作730)。参加スイッチの構成が確認された場合、近隣メンバースイッチは、グローバル構成データベースへの変更を行い、参加過程を完了する(動作732)。そうでなければ、参加過程が中断され、グローバル構成データベースへの暫定的変更が破棄される(動作734)。
(以前に参加したVCSに再参加するスイッチ) 何らかの理由で、(例えば、リンク故障により)スイッチが以前に属したVCSにスイッチが参加する場合、参加スイッチに再び割り付けられるFCスイッチドメインIDは、同じになる可能性が高い。そのようなスイッチがVCSに参加するときに、近隣VCSメンバースイッチは、最初に、参加スイッチのVCS_IDがメンバースイッチ上の既存のVCS_IDと同じであるかどうかをチェックする。2つのVCS_ID値が同じである場合、近隣メンバースイッチは、組交換過程中に参加スイッチングから受信された同じmappedID値を有するグローバル構成データベースの中のスロットを見つけようとする。グローバルデータベースの中のそのようなスロットが利用可能である場合、スロットは、参加スイッチのために留保される。加えて、グローバル構成データベースは、参加スイッチのMACアドレスへの合致について検索される。合致が別のスロットの中で見つかった場合、そのスロットからの構成情報は、留保したスロットにコピーされる。後に、参加過程は、図7Aで説明されるように継続する。2つのVCS_ID値が異なる場合、システムは、「別のVCSに参加するスイッチ」という使用事例について以下で説明されるような参加過程を行う。
図7Cは、本発明の一実施形態による、以前に参加したVCSに再参加するスイッチの過程を図示するフローチャートを提示する。動作中、近隣メンバースイッチが、最初に、参加スイッチの既存のVCS_IDが近隣メンバースイッチのVCS_IDと同じであるかどうかを決定する(動作740)。2つのVCS_IDが異なる場合、参加過程は、図7Dに図示される動作に進む(動作741)。2つのVCS_IDが同じである場合、参加スイッチが以前に同じVCSの一部であったことを意味し、近隣メンバースイッチはさらに、参加スイッチと同じmappedIDを有するグローバル構成データベースの中のスロットがあるかどうかを決定する(動作742)。もしそうであれば、近隣メンバースイッチは、同じmappedIDを有するグローバル構成データベースの中のスロットを留保する(動作744)。そうでなければ、近隣メンバースイッチは、同様に参加スイッチに伝達される新しいmappedIDを有するグローバル構成データベースの中のスロットを留保する(動作746)。
後に、近隣メンバースイッチは、グローバル構成データベースが参加スイッチと同じMACアドレスを有するスロットを含むかどうかを決定する(動作748)。そのようなスロットがある場合、グローバル構成データベースが、同じ参加スイッチの構成情報に以前使用されたスロットを含むことを意味し、そのような情報は、識別したスロットから留保したスロットへコピーされる(動作750)。そうでなければ、近隣メンバースイッチは続けて、図7Aに図示されるような参加過程を完了する。
(別のVCSに参加するスイッチ) この使用事例は、スイッチが1つのVCSから切断され、次いで、デフォルト状態にリセットされることなく、異なるVCSに接続されるときに起こる。このシナリオはまた、スイッチが別のVCSに参加している間にVCSに接続されるときにも起こる。そのような場合において、参加過程におけるVCS_ID不一致が生じる。加えて、参加スイッチの構成表の中のIN_VCSフィールドが、設定されている場合もされていない場合もある。IN_VCSフィールドが設定されていない場合、参加スイッチがVCSに現在参加していないことを意味し、参加過程は、スイッチが参加しようとしているVCSに対応する新しいVCS_IDを、スイッチに割り当てることができる。一実施形態では、IN_VCSフィールドが参加スイッチの構成において設定されている場合、参加スイッチが異なるVCSに現在参加していることを意味し、参加過程は無効にされる。随意で、参加スイッチは、デフォルト状態に設定された後に参加過程を完了することができる。
(両方ともVCSの中にない2つのスイッチの最初の参加) 2つのスイッチがともに接続され、それらの両方がVCSの中にない場合、それらのうちの1つをVCS形成過程における駆動スイッチにするために、選択過程を使用することができる。一実施形態では、より小さいFCスイッチドメインIDを有するスイッチは、「1」に設定されたそのIN_VCSフィールドを有し、参加過程を駆動する。
(2つのVCSの参加) 一実施形態では、2つのVCSは、ともに合併することが許可される。FCスイッチファブリック形成過程と同様に、両方のVCSの中の論理FCスイッチは、新しい主要FCスイッチを選択する。次いで、この新しく選択された主要FCスイッチは、FCスイッチドメインIDを全てのメンバースイッチに再び割り当てる。FCスイッチドメインIDが割り当てられた後に、全てのメンバースイッチに送られる「ファブリックアップ」メッセージがVCS参加過程を開始する。
参加過程中に、主要FCスイッチのIN_VCSフィールドが、「1」に設定される一方で、全ての他のメンバースイッチのIN_VCSフィールドは、「0」に設定される。後に、各メンバースイッチは、上記で説明される「別のVCSに参加するスイッチ」手順を使用して、VCS(最初、主要FCスイッチを有するスイッチのみを含む)に参加することができる。
(VCSからのスイッチの除去) スイッチがVCSから除去された場合、その近隣メンバースイッチは、典型的には、その論理FCスイッチにおいて「ドメイン到達不可能」通知を受信する。この通知を受信すると、近隣メンバースイッチは、グローバルVCS構成データベースからこのスイッチを無効にし、この変更を全ての他のメンバースイッチに伝搬する。随意で、近隣メンバースイッチは、グローバル構成データベースの中の除去されたスイッチによって以前に使用されていたスロットを消去しない。このようにして、スイッチの離脱が一時的にすぎない場合、スイッチがVCSに再参加するときに、構成データベースの中の同じスロットを依然として使用することができる。
VCSがリンク故障により一時的に外れている場合、メンバースイッチの中の論理FCインフラストラクチャが、スイッチの切断を検出することができ、いくつかの「ドメイン到達不可能」通知を発行する。外れていたスイッチがVCSに再接続されたきに、スイッチの構成情報とグローバルVCS構成データベースの中の対応スロット情報との間の比較は、グローバル構成データベースの中の同じスロット(すなわち、同じmappedIDを有するスロット)を使用して、スイッチがVCSに追加されることを可能にする。
(一般動作) 図7Dは、本発明の一実施形態による、参加過程中のスイッチの一般的動作を図示するフローチャートを提示する。この動作は、参加スイッチおよび近隣VCSメンバースイッチの両方に該当する。参加過程の開始時に、スイッチ内の論理FCスイッチが、リンク上で新しく検出されたスイッチドメインIDについてのSCN通知を受信する(動作760)。次いで、システムは、VCSの4組を近隣スイッチと交換する(動作762)。後に、システムは、それ自体がVCSの一部であるかどうか(すなわち、そのIN_VCS=1であるかどうか)を決定する(動作764)。システムがVCSの一部ではない(ローカルスイッチがVCSに参加しようとしていることを意味する)場合、システムは、近隣メンバースイッチからのINVITEを待つ(動作766)。INVITEが受信された後に、システムは、INVITEの中の構成情報がローカルスイッチとの解決できない対立を引き起こすかどうかを決定する(動作768)。解決できない対立がある場合、システムは、INVITEを拒絶する(動作770)。そうでなければ、システムは、INVITEを容認する(動作772)。
それ自体がすでにVCSの一部である(すなわち、そのIN_VCS=1である)とシステムが決定した場合(動作764)、システムはさらに、参加スイッチと同じmappedIDを有するグローバル構成データベースの中の既存のスロットがあるかどうかを決定する(動作774)。そのようなスロットが存在する場合、システムは、INVITEを参加スイッチに送信し(動作775)、このスロットに記憶された構成情報と参加スイッチによって提供された情報との間に解決できない対立があるかどうかを決定する(動作780)。もしそうであれば、システムがINVITEを取り消す(動作782)。そうでなければ、システムが、参加スイッチの構成情報を用いてグローバル構成データベースを更新し、更新を全ての他のメンバースイッチに伝搬する(動作784)。
参加スイッチと同じmappedIDを有するグローバル構成データベースの中のスロットがない場合(動作774)、システムは、グローバル構成データベースの中で暫定スロットを割り付け(動作776)、INVITEを参加スイッチに送信する(動作778)。参加スイッチからINVITE容認を受信した後(動作779)、次いで、システムは、グローバル構成データベースを更新し(動作784)、参加過程を完了する。
(VCSにおけるレイヤ2サービス)
一実施形態では、各VCSスイッチユニットは、イーサネット(登録商標)ブリッジが行うものと同様のソースMACアドレス習得を行う。VCSスイッチユニット上の物理的ポート上で習得された各{MAC address, VLAN}組は、その物理的ポートに対応する論理Nx_Portインターフェースを介して、ローカルファイバチャネルネームーサーバ(FC−NS)に登録される。この登録は、習得されたアドレスを、Nx_Portによって識別された特定のインターフェースに結合する。各VCSスイッチユニット上の各FC−NSインスタンスは、ファブリックの中のあらゆる他のFC−NSインスタンスと協調し、全てのローカルに習得した{MAC address, VLAN}組を配信する。この特徴は、VCSの中のあらゆるスイッチへのローカルに習得した{MAC addresses, VLAN}情報の普及を可能にする。一実施形態では、習得したMACアドレスは、個々のスイッチによってローカルに熟成される。
図8は、本発明の一実施形態による、進入フレームの宛先MACアドレスを調べ、VCSにおいてフレームを転送する過程を図示するフローチャートを提示する。動作中、VCSスイッチは、そのイーサネット(登録商標)ポートのうちの1つにおいてイーサネット(登録商標)フレームを受信する(動作802)。次いで、スイッチは、フレームの宛先MACアドレスを抽出し、ローカルFCネームサーバに問い合わせを行う(動作804)。次に、スイッチは、FC−NSが退出イーサネット(登録商標)ポートに対応するN_PortまたはNL_Port識別子を返信するかどうかを決定する(動作806)。
FC−NSが有効な結果を返信する場合、スイッチは、フレームを識別したN_PortまたはNL_Portに転送する(動作808)。そうでなければ、スイッチは、TRILLマルチキャストツリー上で、ならびにそのVLANに参加する全てのN_PortおよびNL_Port上で、フレームを大量に送る(動作810)。このフラッド/ブロードキャスト動作は、従来のTRILL RBridgeにおけるブロードキャスト過程と同様であり、VCSにおける全ての物理的スイッチは、このフレームを受信して処理し、進入RBridgeに対応するソースアドレスを取得する。加えて、各受信スイッチは、フレームのVLANに参加するそのローカルポートへ、フレームを大量に送る(動作812)。上記の動作は、スイッチのTRILL識別子(またはニックネーム)とそのFCスイッチドメインIDとの間の1対1のマッピングがあるという推定に基づくことに留意されたい。また、スイッチ上の物理的イーサネット(登録商標)ポートと対応論理FCポートとの間にも1対1のマッピングがある。
(終端間フレーム送達)
図9は、本発明の実施形態による、どのようにしてデータフレームおよび制御フレームがVCSを通して輸送されるかを図示する。この実施例では、VCS930は、メンバースイッチ934、936、938、944、946、および948を含む。エンドホスト932は、エンドホスト940と通信している。スイッチ934は、ホスト932に対応する進入VCSメンバースイッチであり、スイッチ938は、ホスト938に対応する退出VCSメンバースイッチである。動作中、ホスト932は、イーサネット(登録商標)フレーム933をホスト940に送信する。イーサネット(登録商標)フレーム933は、最初に進入スイッチ934によって遭遇される。フレーム933を受信すると、スイッチ934は、最初にフレーム933の宛先MACアドレスを抽出する。次いで、スイッチ934は、退出スイッチ識別子(すなわち、退出スイッチ938のRBridge識別子)を提供するイーサネット(登録商標)ネームサービスを使用して、MACアドレス参照を行う。退出スイッチ識別子に基づいて、スイッチ934の中の論理FCスイッチは、スイッチ936である、次のホップスイッチ、およびフレーム933を転送するための対応出力ポートを決定するように、ルーティング表参照を行う。次いで、退出スイッチ識別子は、TRILLヘッダ(宛先スイッチのRBridge識別子を特定する)を生成するために使用され、次のホップスイッチ情報は、外部イーサネット(登録商標)ヘッダを生成するために使用される。後に、スイッチ934は、適正なTRILLヘッダおよび外部イーサネット(登録商標)ヘッダを伴ってフレーム933をカプセル化し、カプセル化したフレーム935をスイッチ936に送信する。フレーム935のTRILLヘッダの中の宛先RBridge識別子に基づいて、スイッチ936は、ルーティング表参照を行い、次のホップを決定する。次のホップ情報に基づいて、スイッチ936は、フレーム935の外部イーサネット(登録商標)ヘッダを更新し、フレーム935を退出スイッチ938に転送する。
フレーム935を受信すると、スイッチ938は、それがフレーム935のTRILLヘッダに基づく宛先RBridgeであると決定する。対応して、スイッチ938は、その外部イーサネット(登録商標)ヘッダおよびTRILLヘッダのフレーム935を奪い、その内部イーサネット(登録商標)ヘッダの宛先MACアドレスを点検する。次いで、スイッチ938は、MACアドレス参照を行い、ホスト940に繋がる正しい出力ポートを決定する。後に、元のイーサネット(登録商標)フレーム933は、ホスト940に伝送される。
上記で説明されるように、物理的VCSメンバースイッチ内の論理FCスイッチは、(例えば、VCSグローバル構成データベースを更新するように、または他のスイッチに習得したMACアドレスを通知するように)制御フレームを相互に送信し得る。一実施形態では、そのような制御フレームは、TRILLヘッダおよび外部イーサネット(登録商標)ヘッダの中でカプセル化されたFC制御フレームであり得る。例えば、スイッチ944の中の論理FCスイッチがスイッチ938の中の論理FCスイッチと通信している場合、スイッチ944は、TRILLカプセル化FC制御フレーム942をスイッチ946に送信することができる。スイッチ946がフレーム942の中のペイロードに関係していないため、スイッチ946は、通常のデータフレームのようにフレーム942を転送することができる。
(自動ポートプロファイル管理)
現在のサーバ仮想化インフラストラクチャ(例えば、仮想マシンモニタとも呼ばれるハイパーバイザ)は、サーバ側(例えば、ハイパーバイザまたはアダプタ)仮想イーサネット(登録商標)ブリッジ(VEB)ポートプロファイルを、VEBポートを通してネットワークにアクセスするために仮想マシン(VM)によって使用される各イーサネット(登録商標)MACアドレスに関連させる。VEBのポートプロファイル属性の実施例は、ポート上で許可されるフレームの種類(例えば、全てのフレーム、あるVLAN値でタグ付けされたフレームのみ、またはタグ付けされていないフレーム)、使用されることが許可されるVLAN識別子、および速度制限属性(例えば、ポートまたはアクセス制御ベースの速度制限)を含む。現在のサーバ仮想化インフラストラクチャでは、VMが1つの物理的サーバから別の物理的サーバへ移行する場合、VEBのポートプロファイルがそれとともに移行する。言い換えれば、現在のサーバ仮想化インフラストラクチャは、VMに関連付けられるサーバのVEBポートの自動ポートプロファイル移行を提供する。
しかしながら、既存の技術では、外部レイヤ2スイッチでサポートされるアクセスおよびサービスの質(QoS)制御と、サーバ仮想化インフラストラクチャでアポートされるそれらとの間に格差がある。つまり、外部レイヤ2スイッチは、サーバVEB実装と比較して、より高度な制御を有する。サーバ仮想化インフラストラクチャは、これらの制御を継続的に追加しているが、この格差は残存することが予期される。いくつかの環境は、外部ネットワークスイッチによって提供される、より高度な制御を好む。そのような環境の実施例は、同じレイヤ2ネットワーク上で作動する、異なる高度なネットワーク制御をそれぞれ伴う、いくつかの種類のアプリケーションを有する、多層データセンターである。この種類の環境では、ネットワーク管理者はしばしば、外部スイッチで利用可能な高度なアクセス制御の使用を好む。
現在のレイヤ2ネットワークは、終点デバイス(例えば、VM)が1つのスイッチから別のスイッチへ移行するときに、そのデバイスに関連付けられるスイッチアクセスおよびトラフィック制御を自動的に移行するための機構を提供しない。移行は、1つの物理的システム上で作動しており、別のシステムへ移行される、オペレーティングシステムイメージ(アプリケーション、ミドルウェア、オペレーティングシステム、および関連状態)等、物理的であり得る。移行はまた、1つのシステム上のハイパーバイザ上で作動しており、別のシステム上のハイパーバイザ上で作動するように移行される、オペレーティングシステムイメージ(OSイメージ)等の仮想であり得る。
本発明の実施形態は、OSイメージが、1つの物理的エンドホストシステムから、第2のスイッチに取り付けられる別のエンドホストシステムへ移行するときに、スイッチに常駐し、OSイメージに関連付けられるポートプロファイルを、第2のスイッチ上のポートに自動的に移行するための機構を提供する。
図10は、本発明の一実施形態による、自動ポートプロファイルマネージャを含む、論理VCSアクセス層(VAL)を図示する。この実施例では、VCS1000は、システム1002等のいくつかの物理的サーバシステムと連結される。各物理的サーバシステムは、いくつかの仮想マシン(VM、仮想サーバとも呼ばれる)を実行する。例えば、システム1002は、そのうちの1つがVM1004である、4つのVMを含む。VMは、あるアプリケーション(例えば、インスタントメッセージングサービス、ディレクトリサービス、データベースアプリケーション等)専用であり得、ネットワークに独自の要件を有し得る。ミッションクリティカルなアプリケーションを実行するVMは、VCS1000内で別個のVLANを必要とし得、より厳格なQoS要件(保証されたポート帯域幅、少ない待ち時間、および保証されたパケット送達等)を有し得る。非重要アプリケーションを実行するVMは、はるかに低い要件を有し得る。
物理的エンドホストシステムに外部連結されるVCS100内のスイッチは、論理VCSアクセス層(VAL)1010を形成する。ポートプロファイルの自動移行(AMPP)は、VAL1010において実装される。動作中、しばしばVMの異なる要件に合わせられた種々のポートプロファイルが作成され、VCS1000の中の全てのメンバースイッチに配信される。以下で詳細に説明されるように、VMによって生成されるパケットが、VCS1000の進入メンバースイッチによって検出されたきに、VMのソースMACアドレスが認識され、それは、次いで、適切な進入スイッチポートに適用される対応ポートプロファイルを識別するために使用される。VMが1つの物理的サーバから別のサーバへ移動するときに、MACアドレス検出機構は、VMが連結される新しい物理的スイッチポートを迅速に識別し、同じポートプロファイルを新しいポートに適用することができる。
図11は、本発明の一実施形態による、AMPPの動作の実施例を図示する。この実施例では、VCS1100は、それぞれが2つの物理的サーバ1116および1118に連結される、2つのスイッチ1120および1122を含む。物理的サーバ1116は、4つのVM1102、1104、1106、および1008のホストとなる。各VMは、仮想ポート(VP、または仮想ネットワークインターフェースカード、VNIC)を有する。例えば、VM1102は、VP1110を有する。それぞれのVPには、仮想MACアドレスが割り当てられる。4つのVPは、ハイパーバイザ1114によって提供される、仮想スイッチ1112に論理的に連結される。仮想スイッチ1112は、物理的NIC1117を通して発信および着信トラフィックを発送することに関与する。それぞれのVMによって生成されるイーサネット(登録商標)フレームは、そのソースアドレスとして対応するVPの仮想MACを有することに留意されたい。論理的に、仮想スイッチ1112は、リンクをVCS1100の中の進入メンバースイッチに提供する、集約点として機能する。物理的サーバ1118は、同様のアーキテクチャを有する。動作中、VMは、1つの物理的サーバから別の物理的サーバへ移行することができる(例えば、VMwareによって提供される「VMotion」機能)。この移行は、イベント駆動型または事前予定型であり得る。そのような移行はしばしば、サーバ負荷、電力消費、リソース利用等のいくつかのパラメータにおける変化動態に対処するために使用される。
動作中、1つ以上のポートプロファイルは、1つ以上のVMに対応するVCSスイッチポートにおいて施行されるべきである、いくつかの要件/制約/制限を特定するように作成することができる。例えば、VM1102に対するポートプロファイル(VP1110の仮想MACアドレスによって識別することができる)を作成し、VCS1100のあらゆるメンバースイッチに配信することができる。VM1102がその第1のイーサネット(登録商標)フレームをネットワークに送信するときに、スイッチ1120は、このソースMACアドレスを習得する。VP1110のMACアドレスを習得すると、次いで、スイッチ1120は、そのポートプロファイルデータベースを検索し、合致するポートプロファイルを識別する。後に、識別したポートプロファイルは、システム1116に連結されるスイッチ1120上のポートに適用される。加えて、合致させるMACアドレスがフレームの宛先MACアドレスであるポートに、同じポートプロファイルが適用される。このようにして、同じネットワークパラメータが、VCSの進入および退出ポートの両方で施行される。ポートプロファイルは、「ソフト」なパラメータを含む場合があることに留意されたい。言い換えれば、ポートプロファイルにおける要件および制限は、あるMACアドレスに特定的であり得、複数のVMから/へのトラフィックが同じ物理的スイッチポートによって取り扱われるため、スイッチポートの物理的パラメータに「ハード」な制限がないことがある。
一実施形態では、VCS1100は、全てのポートプロファイルおよびポートプロファイル・MACマッピング情報を全てのメンバースイッチに配信する機構を提供する。ポートプロファイルは、コマンドラインインターフェース(CLI)または他のネットワーク管理ソフトウェアを使用して作成することができる。加えて、VMの移行(VMware VMotion等)のときに、VCSの中の標的スイッチポートは、正しいポートプロファイル構成を自動的に起動することができる。
図12Aは、本発明の一実施形態による、例示的なポートプロファイルコンテンツを図示する。図12Aに示されるように、ポートプロファイルは、ファイバチャネルオーバーイーサネット(登録商標)(FCoE)構成、VLAN構成、QoS関連構成、およびセキュリティ関連構成(アクセス制御リスト、ACL等)を含むことができる、VMがLANまたはWANへのアクセスを獲得するために必要とされる、構成全体を含むことができる。上記のリストは、決して完全または包括的ではない。さらに、ポートプロファイルが全種類の構成情報を含む必要はない。
一実施形態では、ポートプロファイルは、自己充足型構成コンテナとして動作することが可能であり得る。言い換えれば、追加の構成を伴わずにポートプロファイルが新しいスイッチに適用される場合、ポートプロファイルは、スイッチのグローバルおよびローカル(インターフェースレベル)構成を設定し、スイッチがトラフィックを運び始めることを可能にするのに十分であるべきである。
ポートプロファイル内のVLAN構成プロファイルは、以下を定義することができる。
・タグ付けされたVLANおよびタグ付けされていないVLANを含む、VLANメンバーシップ
・VLANメンバーシップに基づく進入/退出VLANフィルタリング規則。
ポートプロファイル内のQoS構成プロファイルは、以下を定義することができる。
・着信フレームの802.1p優先度から内部待ち行列優先度へのマッピング(ポートがQoS非信用モードである場合、全ての着信フレームの優先度は、デフォルトの最善努力優先度度に割り当てられる)
・着信フレームの優先度から発信優先度へのマッピング
・加重ラウンドロビンまたは厳格優先度ベースの待ち行列等のスケジューリングプロファイル
・厳格優先度ベースまたは加重ラウンドロビントラフィック分類への着信フレームのマッピング
・厳格優先度ベースまたは加重ラウンドロビントラフィック分類上のフロー制御機構
・マルチキャストデータ転送速度への制限。
ポートプロファイル内のFCoE構成プロファイルは、以下を含むことができる、ポートがFCoEをサポートするために必要とされる属性を定義する。
・FCoE VLAN
・FCMAP
・FCoE優先度
・仮想ファブリックID。
ポートプロファイル内のセキュリティ構成プロファイルは、サーバポートに必要とされるセキュリティ規則を定義する。しかしながら、セキュリティ規則は、異なるポートにおいて異なり得るため、ローカルに構成されたACLのうちのいくつかは、ポートプロファイルからの相反する規則を無効にすることが許可され得る。典型的なセキュリティプロファイルは、以下の属性を含むことができる。
・VM移動度に対するEAP TLV拡張を有する802.1xを有効にする
・MACベースの標準および拡張ACL。
一実施形態では、各ポートプロファイルは、それに関連付けられる1つ以上のMACアドレスを有することができる。図12Bは、は、本発明の一実施形態による、3つの例示的なポートプロファイルを図示する。この実施例では、ポートプロファイルPP−1は、5つのMACアドレスに関連付けられる。これらのMACアドレスは、異なるVMに割り当てられた仮想MACアドレスであり得る。ポートプロファイル・MACマッピング情報は、VCSの全体を通して配信される。ポートプロファイルは、(1)ハイパーバイザがMACアドレスをポートプロファイルIDに結合するとき、(2)通常のMAC習得を通して、(3)管理インターフェースを介した手動構成過程を通して、といった、3つの方法で、サーバポート上で起動することができる。
ネットワーク内の一式のVMを1つのポートプロファイルと関連させることによって、それらをグループ化することが可能である。このグループは、VM間の転送を決定付けるために使用することができる。図13は、本発明の一実施形態による、ポートプロファイルメンバーシップに基づいて、どのように転送がVM間で達成されるかを図示する。この実施例では、ポートプロファイル1は、MAC−1およびMAC−3といった、2つのメンバーを有する。ポートプロファイル2は、MAC−2、MAC−4、MAC−5、およびMAC−6の4つのメンバーを有する。全てのVMは、同じVLAN Xに属する。組<MAC,VLAN ID>に基づいて、ポリシーグループID(GID)を決定することができる。同じポートプロファイルにマップされた全てのMACアドレスは、転送境界を決定付ける同じポリシーグループに属するべきである。この構成は、図13Bに図示されるように、VLAN内で異なる転送ドメインを施行することを可能にする。次いで、システムは、ソースMACアドレスおよび宛先MACアドレスの両方が同じポートプロファイルの一部であることを確実にする。
図14は、本発明の一実施形態による、ポートプロファイルを作成および適用する過程を図示するフローチャートを提示する。動作中、システムは、対応VMのMACアドレスを伴うユーザ作成されたポートプロファイルを受信する(動作1402)。次いで、このMACアドレスは、ポートプロファイルに関連付けられ、プロファイルを識別するために後に使用することができる。次いで、システムは、新しいプロファイルが、他の既存のプロファイルへの依存性または対立を生みだすかを決定する(動作1404)。もしそうであれば、システムは、ユーザが対立構成および/または依存性を解決することを可能にする(動作1406)。
後に、システムは、VCSファブリックの全体を通して、ポートプロファイルおよび対応VM MACアドレスを全てのメンバースイッチに配信する(動作1408)。VMが開始または移行されるとき、次いで、システムは、受信した進入パケットから合致させる仮想MACアドレスを検出する(動作1410)。習得したMACアドレスに基づいて、次いで、システムは、スイッチポート上で対応ポートプロファイルを起動する(動作1412)。
(AMPPを伴う例示的なVCSメンバースイッチ)
図15は、本発明の一実施形態による、例示的なVCSメンバースイッチを図示する。この実施例では、VCSメンバースイッチは、特別なVCSソフトウェアを実行するTRILL RBridge1500である。RBridge1500は、イーサネット(登録商標)フレームおよび/またはTRILLカプセル化フレームを伝送および受信することができる、いくつかのイーサネット(登録商標)通信ポート1501を含む。また、RBridge1500には、パケットプロセッサ1502、仮想FCスイッチ管理モジュール1504、論理FCスイッチ1505、VCS構成データベース1506、AMPP管理モジュール1507、およびTRILLヘッダ生成モジュール1508も含まれる。
動作中、パケットプロセッサ1502は、着信フレームのソースおよび宛先MACアドレスを抽出し、適正なイーサネット(登録商標)またはTRILLヘッダを発信フレームに添付する。仮想FCスイッチ管理モジュール1504は、FCスイッチファブリックプロトコルを使用して、他のVCSスイッチに参加するために使用される論理FCスイッチ1505の状態を維持する。VCS構成データベース1506は、VCS内の全てのスイッチの構成状態を維持する。TRILLヘッダ生成モジュール1508は、他のVCSメンバースイッチに伝送されるフレームに対する特性TRILLヘッダを生成することに関与する。
VMから新しいMACアドレスを習得すると、AMPP管理モジュール1507は、習得したMACに対応するポートプロファイルを識別し、識別したポートプロファイルを適用する。この動的ポートプロファイル適用は、非常に短期間内でVM移行に応答し、それにより、仮想コンピュータ環境で自動ポート構成を促進することができる。
(高度リンク追跡)
現在のサーバ仮想化インフラストラクチャ(例えば、仮想マシンモニタとも呼ばれるハイパーバイザ)は、典型的には、物理的サーバ内で1つ以上の仮想スイッチ(仮想イーサネット(登録商標)ブリッジ、VEBと呼ばれる)を提供する。各仮想スイッチは、いくつかの仮想マシンに役立つ。いくつかのそのようなサーバがVCSに接続するときに、仮想マシンの間の通信セッションの数は、極めて大きくなり得る。そのようなネットワーク環境では、ネットワークリンクまたはポートが故障したときに、故障は、典型的には、1つ以上の仮想マシンへの到達可能性を妨害する。この妨害は、仮想マシンのうちのいくつかの通信セッションに影響を及ぼし得る。従来のネットワークでは、そのような到達可能性妨害は、ネットワーク内のトポロジー変化および/またはMACアドレス習得更新を誘起するのみであり、ソース仮想マシンは、これらの更新について通知されない。対応して、従来の技術を用いると、ハイパーバイザが、専有プロトコルを介したネットワークからの何らかの信号伝達のない仮想マシンの接続性を再構成する方法はない。
本発明の実施形態は、ネットワーク内の到達可能性妨害を監視し、影響を受けたハイパーバイザに通知することによって、高度リンク追跡を促進する。それに応じて、ハイパーバイザは、故障したリンクまたはポートを迂回するように、その制御下で仮想マシンの接続性を再構成することができる。一実施形態では、この高度リンク追跡機能は、論理VCSアクセス層内で実行することができる。
図16は、本発明の一実施形態による、VCSにおける高度リンク追跡の例示的な構成を図示する。この実施例では、VCS1600は、4つのスイッチ(RBridgeであり得る)1620、1622、1624、および1626を含む。物理的サーバ1618は、両方のスイッチ1622および1624に、それぞれ、2つのネットワークインターフェースカード(NIC)1603および1605を介して連結される。物理的サーバ1618は、ハイパーバイザ1601によって管理される4つのVM1622、1624、1626、および1628のホストとなる。ハイパーバイザ1601は、2つの仮想スイッチ1602および1604を提供する。各VMは、2つの仮想ポート(VP)を有し、VPを介して仮想スイッチ1602および1604の両方に連結される。言い換えれば、物理的サーバ1618内の各VMは、仮想スイッチ1602および1604を伴うデュアルホーム状態である。この構成は、物理的NIC(すなわち、NIC1603または1605)のうちの1つが故障したときに、ハイパーバイザ1601が、他の稼働NICを使用するようにVMに命令することができるように、冗長性を各VMに提供する。正常動作中、負荷バランシングの目的で、VM1622および1624は、仮想スイッチ1602を介して通信するように構成され、VM1626および1628は、仮想スイッチ1604を介して通信するように構成される。
また、VCS1600には、サーバ1618と同様の構成を有する、物理的サーバ1617も連結される。サーバ1617は、4つのVM1632、1634、1636、および1638を含む。これら4つのVMは、各々、ハイパーバイザ1641によって提供される、仮想スイッチ1642および1644を伴うデュアルホーム状態である。仮想スイッチ1642は、NIC1643を介してVCSメンバースイッチ1620に連結され、仮想スイッチ1644は、NIC1645を介してVCSメンバースイッチ1626に連結される。正常動作中、VM1632および1634は、仮想スイッチ1642およびNIC1643を介してVCS1600と通信し、VM1636および1638は、仮想スイッチ1644およびNIC1645を介してVCS1600と通信する。
VM1622および1624がVM1636および1638と通信していると仮定する。VM1636および1638は、ハイパーバイザ1641によって仮想スイッチ1644およびNIC1645を使用するように構成されるので、VM1622および1624とVM1636および1638との間のトラフィックは、通常、VCSメンバースイッチ1626によって運ばれる。ここで、スイッチ1620および1626の間のリンクが故障すると仮定する。結果として、VM1636および1638は、NIC1645を介して到達することができなくなる。本発明の実施形態では、この到達可能性更新情報は、VCSトポロジー更新(VCS1600内のルーティングプロトコルによって取り扱われる)において反映されるだけでなく、NIC1603を介してハイパーバイザ1601に伝達もされる。この更新は、VM1622および1624がVCS1600にアクセスするために仮想スイッチ1604およびNIC1605を使用するように、ハイパーバイザ1601がこれら2つのVMを迅速に再構成することを可能にすることができる。このようにして、VM1622および1624からのトラフィックは、スイッチ1624、スイッチ1620、NIC1643、および仮想スイッチ1642を介して、依然としてVM1636および1638に到達することができる。新しいデータパスは、スイッチ1620および1626の間の故障したリンクを迂回する。この再構成は、リンク故障が検出された直後に起こり、それにより、ソースVMにおける高速回復を促進することができる。
図17は、本発明の一実施形態による、リンクが故障したときに、高度リンク追跡が、仮想マシンが退出トラフィックを別の経路に切り替えることを可能にする、実施例を図示する。この実施例では、2つのサーバ1702および1704は、VCS1700に連結される。サーバ1702は、4つのVM1706、1708、1710、および1712のホストとなり、その全ては、仮想スイッチ1714および1716を伴うデュアルホーム状態である。動作中、VM1706および1708は、VS1714を介してVCS1700にアクセスし、VM1710および1712は、VS1716を介してVCS1700にアクセスする。サーバ1704は、サーバ1702と同様の構成を有する。VCS1700の全体を通して、VS1714からサーバ1704内のVS1718までつながる、1つだけの経路があると仮定する。さらに、動作中、サーバ1704内のVS1718への退出ポート連結が失敗すると仮定する。結果として、VS1718は、VS1714から到達可能ではなくなる。高度リンク追跡機構は、VS1714にVS1718への失われた到達性を通知することができる。一実施形態では、VCS1700は、影響を受けたVMについての情報を取得するように全てのVMの間の接続性パターン情報を維持する、第3エンティティ(VMwareによるvCenter等)と通信することができる。さらなる実施形態では、VCS1700は、全ての外部ポートに失われた到達可能性を通知し、VM・VS接続性の再構成が必要であるかどうかを個別ハイパーバイザに決定させることができる。
図18は、本発明の一実施形態による、高度リンク追跡の過程を図示するフローチャートを提示する。動作中、システムは、最初に、VCSにおけるリンク(またはポート)故障を検出する(動作1802)。次いで、システムは、故障がエンドホストの到達可能性に影響を及ぼすかどうかを決定する(動作1804)。故障がいずれのエンドホストの到達可能性にも影響を及ぼさない場合、そのトポロジーが集中し、ルーティングプロトコルが全てのスイッチの転送表を更新した後に、VCSが故障から回復できることが仮定される。エンドホストの到達可能性が影響を受けた場合、システムは、随意で、影響を受けたエンドホストと通信している進入ポートを識別する(動作1806)。後に、システムは、進入ポートを介して、エンドホストに到達可能性妨害を通知する(動作1808)。
(高度リンク追跡を伴う例示的なVCSメンバースイッチ)
図19は、本発明の一実施形態による、例示的なVCSメンバースイッチを図示する。この実施例では、VCSメンバースイッチは、特別なVCSソフトウェアを実行するTRILL RBridge1900である。RBridge1900は、仮想マシンのホストとなる1つ以上のサーバに連結することができ、イーサネット(登録商標)フレームおよび/またはTRILLカプセル化フレームを伝送および受信することができる、いくつかのイーサネット(登録商標)通信ポート1901を含む。また、RBridge1900には、パケットプロセッサ1902、仮想FCスイッチ管理モジュール1904、論理FCスイッチ1905、VCS構成データベース1906、高度リンク追跡モジュール1907、およびTRILLヘッダ生成モジュール1908も含まれる。
動作中、パケットプロセッサ1902は、着信フレームのソースおよび宛先MACアドレスを抽出し、適正なイーサネット(登録商標)またはTRILLヘッダを発信フレームに添付する。仮想FCスイッチ管理モジュール1904は、FCスイッチファブリックプロトコルを使用して、他のVCSスイッチに参加するために使用される論理FCスイッチ1905の状態を維持する。VCS構成データベース1906は、VCS内の全てのスイッチの構成状態を維持する。TRILLヘッダ生成モジュール1908は、他のVCSメンバースイッチに伝送されるフレームに対する特性TRILLヘッダを生成することに関与する。
VCSにおける妨害された到達可能性について習得すると、高度リンク追跡モジュール1907は、妨害による影響を受けたポートを識別し、ハイパーバイザに妨害を通知する。この通知は、ハイパーバイザが影響を受けたVMの再構成を迅速に処理することを可能にし、サービス妨害を最小限化することができる。さらに、高度リンク追跡モジュール1907はまた、ポート1901に対応する全てのリンクの健全性を監視する。リンクまたはポート故障の検出時に、高度リンク追跡モジュール1907は、VCSにおける他のスイッチにリンク状態変更および到達性妨害を通知することができる。
(仮想ポートグループ化)
現在のサーバ仮想化インフラストラクチャ(例えば、仮想マシンモニタとも呼ばれるハイパーバイザ)は、典型的には、物理的サーバ内で1つ以上の仮想スイッチ(仮想イーサネット(登録商標)ブリッジ、VEBと呼ばれる)を提供する。各仮想スイッチは、いくつかの仮想マシンに役立つ。いくつかのそのようなサーバがVCSに接続するときに、仮想マシンの間の通信セッションの数は、極めて大きくなり得る。しばしば、異なる仮想マシンは、異なる顧客に属し、異なる顧客は通常、サービス目的のセキュリティおよび質のために、専用および隔離されたネットワークリソースを必要とする。
一実施形態では、各顧客の仮想マシンは、それらの関連仮想ポートのMACアドレスおよびVLANタグに基づいて、同じグループの中に配置される。グループ化情報は、複製され、全てのVCSメンバースイッチにおいて記憶される。動作中、フレームがVCSメンバースイッチに到着したときに、メンバースイッチは、フレームのソースMACアドレスおよびVLANタグに対応するグループIDを調べることによって、グループ化ポリシーを施行することができる。VLANタグと組み合わせられたフレームの宛先MACアドレスが同じグループに属する場合、フレームは、適正な次のホップスイッチに転送される。そうでなければ、フレームは撤回される。この構成は、各顧客の仮想マシンがそれら自体内で通信するのみであり、それにより、VCS内で仮想パーティションを作成することを確実にする。
図20は、本発明の一実施形態による、仮想ポートグループ化を伴う例示的なVCSネットワーク環境を図示する。この実施例では、VCS2000は、4つのスイッチ(RBridgeであり得る)2020、2022、2024、および2026を含む。物理的サーバ2018は、両方のスイッチ2022および2024に、それぞれ、2つのネットワークインターフェースカード(NIC)2003および2005を介して連結される。物理的サーバ2018は、ハイパーバイザ2001によって管理される、4つのVM2022、2024、2026、および2028のホストとなる。ハイパーバイザ2001は、2つの仮想スイッチ2002および2004を提供する。各VMは、2つの仮想ポート(VP)を有し、VPを介して仮想スイッチ2002および2004の両方に連結される。言い換えれば、物理的サーバ2018内の各VMは、仮想スイッチ2002および2004を伴うデュアルホーム状態である。この構成は、物理的NIC(すなわち、NIC2003または2005)のうちの1つが故障したときに、ハイパーバイザ2001が、他の稼働NICを使用するようにVMに命令することができるように、冗長性を各VMに提供する。正常動作中、負荷バランシングの目的で、VM2022および2024は、仮想スイッチ2002を介して通信するように構成され、VM2026および2028は、仮想スイッチ2004を介して通信するように構成される。
また、VCS2000には、サーバ2018と同様の構成を有する、物理的サーバ2017も連結される。サーバ2017は、4つのVM2032、2034、2036、および2038を含む。これら4つのVMは、各々、ハイパーバイザ2041によって提供される、仮想スイッチ2042および2044を伴うデュアルホーム状態である。仮想スイッチ2042は、NIC2043を介してVCSメンバースイッチ2020に連結され、仮想スイッチ2044は、NIC2045を介してVCSメンバースイッチ2026に連結される。正常動作中、VM2032および2034は、仮想スイッチ2042およびNIC2043を介してVCS2000と通信し、VM2036および2038は、仮想スイッチ2044およびNIC2045を介してVCS2000と通信する。
VM2024、2028、2032、および2036が、(図20の各図面要素における陰影によって示されるように)同じ顧客に属し、これらのVMが、それら自体内のみで通信するように制約されると仮定する。典型的には、顧客は、特定のVLAN値をこれらのVMに設定する。しかしながら、顧客VLAN値がVCS2000内の既存のVLAN設定と対立する場合があるので、顧客VLAN値はVCS2000内で機能しない場合がある。この問題を解決する1つの方法は、顧客特定のグループの中で、顧客のVLAN値とともに特定の顧客の仮想マシンの仮想ポートに対応するMACアドレスを配置することである。このグループ化情報は、{MAC,VLAN TAG}組をグループIDにマップするデータ構造であり得る。このデータ構造は、複製され、VCS2000における全てのメンバースイッチに配信される。
図21Aは、本発明の一実施形態による、仮想ポートグループ化情報を記憶するための例示的なデータ構造を図示する。この実施例では、各{MAC,VLAN TAG}組は、異なるグループ間のフレームの転送を制限するために使用され、グループIDにマップする。
図21Bは、本発明の一実施形態による、仮想ポートグループ化の結果としてのVCS内の論理仮想ネットワークを図示する。この実施例では、2つのサーバ2102および2104は、VCS2100に連結される。サーバ2102は、4つのVM2106、2108、2110、および2112のホストとなり、その全ては、仮想スイッチ2114および2116を伴うデュアルホーム状態である。サーバ2104は、4つのVM2122、2124、2126、および2128のホストとなり、その全ては、仮想スイッチ2118および2120を伴うデュアルホーム状態である。VM2108、2112、2124、および2128は、同じ顧客に属し、それら自体内のみで通信することが期待される。
動作中、VM管理者2124は、それらの共通顧客に対応する同じVLANタグを用いてVM2108、2112、2124、および2128を構成する。対応して、これらのマシンに対する仮想ポートのMACアドレスは、指定VLANタグとともに、同じグループIDが割り当てられる。VM2106、2110、2122、および2126、ならびにそれぞれのVLANタグは、異なるグループIDが割り当てられる。次いで、このグループ化情報は、VCS2100に伝達され、全てのメンバースイッチにおいて記憶される。
フレームがVCS2100内で処理および転送されるときに、1つのグループIDを伴うフレームは、異なるグループIDに対応するMACアドレス・VLANの組み合わせに転送されることが禁止される。したがって、効果的に、仮想ポートグループ化は、VCS2100内で2つの仮想ネットワーク2120および2121を作成する。
図22は、本発明の一実施形態による、仮想ポートグループ化を施行する過程を図示するフローチャートを提示する。動作中、VCSメンバースイッチは、エンドホストから進入フレームを受信する(動作2202)。次いで、スイッチは、受信したフレームのソースMACアドレスおよびVLANタグに基づいてグループIDを識別する(動作2204)。加えて、スイッチはさらに、受信したフレームの宛先MACアドレスおよびVLANタグが同じグループIDを指し示すかどうかを決定する(動作2206)。もしそうであれば、スイッチは、宛先MACアドレスおよびVLANタグに基づいて出力ポートを識別し(動作2208)、フレームを識別した出力ポートに転送する(動作2210)。そうでなければ、フレームは破棄される(動作2212)。
(仮想ポートグループ化を伴う例示的なVCSメンバースイッチ)
図23は、本発明の一実施形態による、例示的なVCSメンバースイッチを図示する。この実施例では、VCSメンバースイッチは、特別なVCSソフトウェアを実行するTRILL RBridge2300である。RBridge2300は、仮想マシンのホストとなる1つ以上のサーバに連結することができ、イーサネット(登録商標)フレームおよび/またはTRILLカプセル化フレームを伝送および受信することができる、いくつかのイーサネット(登録商標)通信ポート2301を含む。また、RBridge2300には、パケットプロセッサ2302、仮想FCスイッチ管理モジュール2304、論理FCスイッチ2305、VCS構成データベース2306、高度リンク追跡モジュール2307、およびTRILLヘッダ生成モジュール2308も含まれる。
動作中、パケットプロセッサ2302は、着信フレームのソースおよび宛先MACアドレスを抽出し、適正なイーサネット(登録商標)またはTRILLヘッダを発信フレームに添付する。仮想FCスイッチ管理モジュール2304は、FCスイッチファブリックプロトコルを使用して、他のVCSスイッチに参加するために使用される論理FCスイッチ2305の状態を維持する。VCS構成データベース2306は、VCS内の全てのスイッチの構成状態を維持する。TRILLヘッダ生成モジュール2308は、他のVCSメンバースイッチに伝送されるフレームに対する特性TRILLヘッダを生成することに関与する。仮想ポートグループ化モジュール2307は、グループ化情報のコピーを維持し、グループ化ポリシーを施行することに関与する。図22と併せて説明されるように、フレームの{source MAC,VLAN TAG}および{destination MAC,VLAN TAG}が同じグループIDにマップしないときに、フレームは、出力ポートのうちのいずれにも転送されることを妨げられる。一実施形態では、仮想ポートグループ化モジュール2307は、仮想ポートグループ化情報(例えば、図21Aに図示される完全データ構造)を取得するように、VM管理者(VMware Vcenter等)と通信することができる。
(VCSネームサービス)
VCSは、RBridgeの相互接続されたファブリックが単一の論理スイッチとして機能することを可能にする。VCSネームサービスは、新しく習得したMACアドレスを含む、ランタイムネットワーク状態変更の高速配信(本開示では「イーサネット(登録商標)ネームサービス」または「イーサネット(登録商標)NS」と呼ばれる)、および、マルチシャーシトランク(MCT)ポート状態更新(本開示では「MCTネームサービス」または「MCT NS」と呼ばれる)を促進する。MCTについてのさらなる詳細は、2010年3月16日に出願された、出願者のSomesh Gupta、Anoop Ghanwani、Phanidhar Koganti、およびShunjia Yuによる、「REDUNDANT HOST CONNECTION IN A ROUTED NETWORK」と題された米国特許出願第12/725,249号(代理人整理番号BRCD−112−0439US)で提供されている。
イーサネット(登録商標)NSは、VCSにわたって種々の情報を配信する能力を提供する。1つのメンバースイッチにおいて習得されるMAC情報は、全ての他のメンバースイッチに配信され、それは、(例えば、仮想マシンの移行中の)高速MAC移動およびグローバルなMAC習得を促進する。いくつかの実施形態では、効率的なVCS全体マルチキャストを促進するように、対応スイッチ/ポート識別子およびVLANタグを伴うマルチキャストMACアドレスであり得るレイヤ2マルチキャスト情報を配信することができる。随意で、イーサネット(登録商標)NSは、配信機構を提供し、MAC関連知識ベースの中央記憶装置を維持しない。言い換えれば、イーサネット(登録商標)NS知識データベースは、複製され、全てのVCSメンバースイッチの間で配信可能に記憶される。
各メンバースイッチは、VCSの全体を通して習得された全てのMACアドレスのデータベースを維持する。このデータベースは、フラッディング(フレームの宛先MACアドレスが認識されないときのイーサネット(登録商標)スイッチのデフォルト挙動)の量を最小限化するために使用することができる。イーサネット(登録商標)NSはまた、インターネットグループ管理プロトコル(IGMP)監視によって取得することができる、マルチキャストMAC・RBridge/ポートマッピング情報のVCS全体配信を提供する。(IGMP およびIGMP監視についての詳細は、http://tools.ietf.org/html/rfc3376で入手可能なIETF RFC 3376およびhttp://tools.ietf.org/html/rfc4541で入手可能なIETF RFC 4541において見出すことができる)。イーサネット(登録商標)NSは、この情報を全てのRBridgeに配信し、それにより、VCSが単一のスイッチとして挙動することを可能にする。IGMP参加および撤退情報を追跡および転送することによって、イーサネット(登録商標)NSは、効率的にマルチキャストMAC情報を追跡し、レイヤ2マルチキャストグループを維持することができる。
単一のスイッチとしてVCSを提示することの要件のうちの1つは、外部ホストからVCSファブリック内の異なるRBridgeへの基幹リンクの接続をサポートすることである。異なるRBridgeへの接続を伴う、そのようなトランキングは、マルチシャーシトランキング(MCT)と呼ばれる。概念的に、MCT宛先にルート指定するためのVCSファブリック内のサポートは、仮想RBridgeとして各MCTグループ(すなわち、各トランク)を提示することによって達成される。いくつかの実施形態では、仮想RBridgeは、ドメインIDを割り当てられず、したがって、ルーティング設定にFSPFを利用しない。代わりに、MCTのホストとなる主要RBridgeは、仮想RBridge IDおよび対応リンク状態更新をVCSファブリックに配信する。主要RBridgeは、MCTを介して新しいMACを習得し、新しいMAC情報をVCSに配信することに関与する。
RBridgeは、VCSに参加するときに、リモートRBridgeからのローカルNSデータベースのダンプを要求する。それは、DBダンプが受信されるまでリモートRBridgeからの個々の更新に応答しない。データベースが2つのRBridgeの間で同期した後、個々の変更がローカルに検出され、リモートにプッシュ配信される。ローカルデータベースが到達不可能なドメインを受信する場合、そのリモートドメインに対する全ての記録を除去し、この除去が暗示するローカル通知を行うことに関与する。
図24は、本発明の一実施形態による、VCSにおけるネームサービス動作の実施例を図示する。この実施例では、VCS2400は、4つのメンバースイッチ(Rbridge)2402、2404、2406、および2408を含む。エンドホスト2414が動作中にスイッチ2402に連結されると仮定する。エンドホスト2414がその第1のイーサネット(登録商標)フレームを送信するときに、スイッチ2402は、この進入フレームのソースMACアドレスを認識していないであろう。この進入フレームを受信すると、次いで、スイッチ2402は、その上でフレームが到着するポート(またはインターフェース)およびフレームのVLAGタグを決定する。後に、スイッチ2402は、習得したMACアドレス(エンドホスト2414に対応する)、そのスイッチ識別子(一実施形態では、スイッチ2402のRBridge IDである)、ポート識別子、およびフレームに対するVLAGタグを示す、イーサネット(登録商標)NS更新フレームを組み立てる。一実施形態では、このフレームは、TRILLヘッダの中でカプセル化されているFC登録状態変更通知(RSCN)である。スイッチ2402は、グローバル構成データベースを調べることによって、VCSの中の全ての他のメンバースイッチの情報を取得できることに留意されたい。後に、スイッチ2402は、イーサネット(登録商標)NS更新フレームを、それぞれ、スイッチ2404、2408、および2406に送信することができる。イーサネット(登録商標)NS更新フレームを受信すると、各メンバースイッチは、それに従って独自のMACデータベースを更新する。このように、メンバースイッチのうちの1つは、エンドホスト2414宛のイーサネット(登録商標)フレームを受信するときに、(そのポートの全てにフレームを大量に送る代わりに)そのフレームをスイッチ2402に転送することができる。
また、図24の実施例には、MCTグループ2416も示されている。MCTグループ2416は、スイッチ2406および2408を伴うデュアルホーム状態である、エンドホスト2412によって形成される。スイッチ2406がMCTグループ2416の中の主要RBridgeであると仮定する。エンドホスト2412およびMCTグループ2410が最初に構成されるときに、スイッチ2406は、仮想RBridge2410をMCTグループ2410に割り当てる。加えて、スイッチ2406は、エンドホスト2412のMACアドレスについてVCS2400の残りの部分に通知する。エンドホスト2412のMACアドレスに関連付けられるNS更新は、(スイッチ2406またはスイッチ2408の識別子の代わりに)仮想RBridge2410の識別子を示すことに留意されたい。このようにして、VCS2400の残りの部分は、エンドホスト2412を仮想RBridge2410と関連させることができる。エンドホスト2412宛のフレームを転送するときに、VCS2400の中のメンバースイッチは、(すなわち、TRILLヘッダの中の宛先RBridgeとしてRBridge2410を設定することによって)仮想RBridge2410に向かってフレームを転送する。スイッチ2406はまた、仮想RBridge2410とスイッチ2406および2408との間の仮想接続性(点線によって示される)に関するリンク状態情報を配信することにも関与することに留意されたい。
リンクのうちの1つ(すなわち、スイッチ2406とエンドホスト2412との間のリンク、またはスイッチ2408とエンドホスト2412との間のリンク)が故障した場合において、MCT NSの一部、一実施形態では主要RBridge2406が、そのホスト2412のMACアドレスが仮想RBidge2410に関連付けられていないことをVCS2400の残りの部分を更新することに関与する。代わりに、ホスト2412のMACアドレスが、ホスト2412が接続されたままであるスイッチに関連付けられている。さらなる実施形態では、更新されたMACアドレス関連をVCS2400の残りの部分に配信することが、ホスト2412が接続されたままであるスイッチの責務であり得る。
図25は、本発明の一実施形態による、VCSにおけるイーサネット(登録商標)ネームサービスによって、習得したMAC情報を配信する過程を図示するフローチャートを提示する。動作中、VCSメンバースイッチは、新しいソースMACアドレスを伴う進入フレームを検出する(動作2502)。次いで、スイッチは、その上で進入フレームが受信されるポートを識別する(動作2504)。後に、スイッチは、習得したMACアドレス、スイッチ識別子、ポート識別子、およびVLANタグを用いて、イーサネット(登録商標)NS更新フレームを組み立てる(動作2506)。次いで、スイッチは、イーサネット(登録商標)NS更新フレームをVCSの中の全てのメンバースイッチに配信する(動作2508)。
図26は、本発明の一実施形態による、MCTを介して、習得したMACアドレスの情報を配信する過程を図示するフローチャートを提示する。動作中、MCTグループの中のスイッチのうちの1つが、新しいソースMACアドレスを伴う進入フレームを検出すると仮定する(動作2602)。次いで、スイッチは、フレームを生成するエンドホストがMCTグループによるデュアルホーム状態であるかどうかを決定する(動作2604)。一実施形態では、スイッチは、MCTグループの他のスイッチと通信することによって、この決定を行うことができる。さらなる実施形態では、スイッチは、進入フレームのリンク集約グループ(LAG)IDを点検して、エンドホストがLAGを使用して伝送しているかどうかを決定することができる。フレームがMCTフレームである場合、スイッチは、MACアドレス、MCTに対応する仮想RBridge識別子、ポート識別子、およびフレームのVLAGタグを用いて、イーサネット(登録商標)NS更新フレームを組み立てる(動作2606)。
フレームが通常のエンドホストに由来する(すなわち、デュアルホーム状態ホストではない)と決定された場合、スイッチは、MACアドレス、(仮想RBridge IDとは対照的な)ローカル物理的スイッチ識別子、その上でフレームが受信されるポートの識別子、およびフレームのVLANタグを用いて、イーサネット(登録商標)NS更新フレームを組み立てる(動作2607)。次いで、スイッチは、イーサネット(登録商標)NS更新フレームをVCSの中の全てのメンバースイッチに配信する(動作2608)。
図27は、本発明の一実施形態による、MCTグループの中のリンク状態を更新する過程を図示するフローチャートを提示する。動作中、MCTパートナースイッチのうちの1つが、MCTグループの一部であるリンクまたはポート故障を検出すると仮定する(動作2702)。この故障は、ローカルに検出する(ローカルスイッチ上のポートまたはローカルポートに連結されたリンクが故障したことを意味する)か、またはリモートで検出することができる(故障がパートナースイッチ上で起こり、ローカルスイッチがパートナースイッチによって故障の通知を受けることを意味する)ことに留意されたい。次いで、スイッチは、MCTエンドホストが依然としてローカルスイッチに接続されているかどうかを決定する(動作2704)。エンドホストがローカルスイッチにもはや接続されていない場合、ローカルスイッチは、随意で、MCTの中の他のパートナースイッチに故障を通知し(動作2710)、パートナースイッチが(例えば、図27に図示される同じ手順を使用して)リンク状態を更新するという責務を負うことを仮定して、さらなる措置を講じない。
MCTエンドホストが依然としてローカルスイッチに接続されている場合、スイッチは、エンドホストのMACアドレス、ローカルスイッチの識別子(例えば、ローカルスイッチの物理的RBridge ID)、それを通してエンドホストが接続されるポートの識別子、および適正なVLANタグを用いて、NS更新フレームを組み立てる(動作2706)。次いで、スイッチは、NS更新フレームをVCSの中の全てのメンバースイッチに配信する(動作2708)。
図28は、本発明の実施形態による、イーサネット(登録商標)およびMCTネームサービスを用いて仮想クラスタスイッチの形成を促進する、例示的なスイッチを図示する。VCSメンバースイッチは、特別なVCSソフトウェアを実行するTRILL RBridge2800である。RBridge2800は、イーサネット(登録商標)フレームおよび/またはTRILLカプセル化フレームを伝送および受信することができる、いくつかのイーサネット(登録商標)通信ポート2801を含む。また、RBridge2800には、パケットプロセッサ2802、仮想FCスイッチ管理モジュール2804、論理FCスイッチ2805、VCS構成データベース2806、ネームサービス管理モジュール2807、およびTRILLヘッダ生成モジュール2808も含まれる。
動作中、パケットプロセッサ2802は、着信フレームのソースおよび宛先MACアドレスを抽出し、適正なイーサネット(登録商標)またはTRILLヘッダを発信フレームに添付する。仮想FCスイッチ管理モジュール2804は、FCスイッチファブリックプロトコルを使用して、他のVCSスイッチに参加するために使用される論理FCスイッチ2805の状態を維持する。VCS構成データベース2806は、VCS内の全てのスイッチの構成状態を維持する。TRILLヘッダ生成モジュール2808は、他のVCSメンバースイッチに伝送されるフレームに対する特性TRILLヘッダを生成することに関与する。着信フレームの抽出したMACアドレスに基づいて、NS管理モジュール2807は、NS更新フレームをVCSの残りの部分に配信する。NS管理モジュール2807はまた、NSデータベース2809のコピーも維持する。NSデータベース2809は、VCSの中の全てのメンバースイッチからの全ての習得したMACアドレス情報を記憶する。
(等コストマルチパス化)
VCSが、ファブリック最短経路第1(FSPF)ルーティングプロトコルおよびTRILLトランスポートを使用するため、本発明の実施形態は、負荷バランシング目的で、等コストまたは近等コストマルチパス化を促進することができる。図29は、本発明の一実施形態による、VCSにおける例示的な等コストマルチパス化構成を図示する。この実施例では、VCS2930は、スイッチ2934、2936、2938、2944、2946、および2948を含む。トラフィックフローは、進入スイッチ2934を介してVCS2930に進入し、退出スイッチ2948を介してVCS2930から退出すると仮定する。ホップ距離に基づいて、2つの等コストデータパス2950および2952がある。一実施形態では、出力インターフェースを決定するときに、スイッチ2934の転送エンジンは、データパス2950および2952に対応する2つの可能な出力ポートを返信することができる。負荷バランシングが所望される場合、スイッチ2934からスイッチ2948へのトラフィックは、2つのデータパスの間で分割することができる。
一実施形態では、トラフィック分割は、フレームヘッダの中の任意のフィールドに基づくことができる。例えば、トラフィックは、VLANタグに基づいて分割することができる。トラフィックはまた、レイヤ4ポート番号およびアプリケーション種類に基づいて分割することもできる。
(フロー制御および輻輳管理)
本発明のいくつかの実施形態では、VCSは、いくつかのフロー制御機構を実装することによって、無損失パケットトランスポートを達成することができる。一実施形態では、VCSメンバースイッチは、近隣スイッチ間の無損失パケットトランスポートを確保するように、優先度ベースのフロー制御(PFC)様機構を実装する。優先度ベースのフロー制御の場合、トラフィック部類がVLANタグ優先度値によって識別される。優先度ベースのフロー制御は、輻輳によるフレーム損失を排除することを目的としている。これは、IEEE 802.3x PAUSEと同様であるが、個々の優先度で動作する機構によって達成される。この機構は、他の優先度を利用する従来のLANプロトコルの動作に影響を及ばさずに、極めて損失に敏感な上位層プロトコルのサポートを可能にする。PFCの詳細は、参照することにより本明細書に組み込まれる、http://www.ieee802.org/1/pages/802.1bb.htmlで入手可能なIEEE 802.1Qbb標準で見出すことができる。
さらなる実施形態では、VCSメンバースイッチはまた、異なるトラフィック部類間の帯域幅の割り付けをサポートする、強化伝送選択機構も採用する。トラフィック部類の中の提供された負荷が、その割り付けられた帯域幅を使用しないときに、強化伝送選択は、他のトラフィック部類がその利用可能な帯域幅を使用することを可能にする。帯域幅割付優先度は、厳格な優先度と共存することができる。VCSは、異なるサービス特性をトラフィック部類に提供するように、トラフィックを優先することができる。最小限の待ち時間を必要とする、時間依存の管理トラフィックに対する厳格な優先度を可能にしながら、厳格な優先度でサービス提供するよりもむしろ、集中的な負荷を持つ優先度の間で帯域幅を共有することが可能である。また、所与の優先度におけるトラフィックが、その割付を使用しないときに、他の優先度がその帯域幅を使用できるようにすることが可能である。ETSの詳細は、参照することにより本明細書に組み込まれる、http://www.ieee802.org/1/pages/802.1az.htmlで入手可能なIEEE 802.1Qas標準で見出すことができる。
いくつかの実施形態では、VCSメンバースイッチはまた、ソース指向のフロー制御を促進するように、輻輳通知機構を実装することもできる。図30は、本発明の一実施形態による、VCS輻輳通知の実施例を図示する。この実施例では、ソースホスト3002が、VCS3000を介してフレームを宛先ホスト3004に伝送していると仮定する。輻輳は、中間スイッチ3006において起こると仮定する。フレームがスイッチ3006において蓄積するにつれて、その対応待ち行列3008が満杯になる。待ち行列3008のコンテンツが所定の閾値を過ぎると、スイッチ3006内の待ち行列監視機構が誘起される。それに応じて、スイッチ3006は、待ち行列3008の中のフレームを無作為に選択し、輻輳通知フレームを構築するように、選択されたフレームのソースMACアドレスを抽出し、この通知フレームを、抽出したソースMACアドレスに対応するソースデバイス(ホスト3002である)に送信することができる。スイッチ3006は、複数のソースが輻輳の一因となっている場合に、これらのソースが全て通知されることができるように、待ち行列3008の中の複数のフレームを用いて同じ措置を行うことができる。
(ハイブリッドトランキング)
一実施形態では、ハイブリッドトランクを形成するように、2つの近隣VCSメンバースイッチ間の基幹リンクをさらにトランキングすることができる。このようにして、2つのスイッチ間のリンク状態維持トラフィックの量を最小限化することができる。図31は、本発明の一実施形態による、例示的なハイブリッドトランクを図示する。この実施例では、2つのリンクトランクグループ3106および3108が、VCSメンバースイッチ3102および3104の間で形成される。リンク集約グループ(LAG)IDを使用することなく、トランクグループ3106および3108を両方のスイッチによって識別できると仮定すると、トランク3106および3108に基づいてLAG3110を形成することが可能である。この場合、トランク3106および3108を論理リンクと見なすことができる。LAG3110はまた、他の個々の物理的リンク(図示せず)も含むことができる。
図32は、本発明の一実施形態による、例示的なVCSメンバースイッチを図示する。この実施例では、VCSメンバースイッチは、特別なVCSソフトウェアを実行するTRILL RBridge3200である。RBridge3200は、イーサネット(登録商標)フレームおよび/またはTRILLカプセル化フレームを伝送および受信することができる、いくつかのイーサネット(登録商標)通信ポート3201を含む。また、RBridge3200には、パケットプロセッサ3202、仮想FCスイッチ管理モジュール3204、論理FCスイッチ3205、VCS構成データベース3206、トラフィック管理モジュール3207、およびTRILLヘッダ生成モジュール3208も含まれる。
動作中、パケットプロセッサ3202は、着信フレームのソースおよび宛先MACアドレスを抽出し、適正なイーサネット(登録商標)またはTRILLヘッダを発信フレームに添付する。仮想FCスイッチ管理モジュール3204は、FCスイッチファブリックプロトコルを使用して、他のVCSスイッチに参加するために使用される論理FCスイッチ3205の状態を維持する。VCS構成データベース3206は、VCS内の全てのスイッチの構成状態を維持する。TRILLヘッダ生成モジュール3208は、他のVCSメンバースイッチに伝送されるフレームに対する特性TRILLヘッダを生成することに関与する。トラフィック管理モジュール3207は、マルチパス化、フロー制御、輻輳通知、およびハイブリッドトランキング等の前述のトラフィック管理機能を促進する。
(集中型ネットワーク拡張を伴うVCS)
本発明の実施形態の1つの目標は、データセンターにわたってVCSおよびTRILLネットワークを拡張し、展開によって必要とされる拡張可能性要件を満たすことである。集中型ネットワーク拡張(CNE)デバイスは、2ボックス解決法で実装することができ、一方のボックスは、L2/L3/FCoEスイッチングが可能であって、かつVCSの一部であり、他方は、WAN上でイーサネット(登録商標)および/またはFCトラフィックを輸送するようにWANトンネリングを促進する。CNEデバイスはまた、1ボックス解決法で実装することもでき、単一のネットワーク機器が、L2/L3/FCoEスイッチングおよびWANトンネリングの機能を組み合わせる。
上記で説明されるように、レイヤ2スイッチとしてのVCSは、そのスイッチ間接続性としてTRILLを使用し、単一の論理レイヤ2スイッチの概念を実現する。この単一の論理レイヤ2スイッチは、透過的LANサービスを実現する。VCSの全てのエッジポートは、リンク集約制御プロトコル(LACP)、リンク層発見プロトコル(LLDP)、VLAN、MAC習得等のような標準プロトコルおよび特徴をサポートする。VCSは、イーサネット(登録商標)ネームサービス(eNS)を使用して、分散MACアドレスデータベースを達成し、可能な限りフラッディングを回避しようとする。VCSはまた、仮想リンク集約グループ(vLAG)、高度ポートプロファイル管理(APPM)、終端間FCoE、エッジループ検出等の種々の知的サービスも提供する。
本発明の実施形態では、データセンター間通信の目的で、各データセンターが単一の論理RBridgeとして表される。この論理RBridgeは、仮想RBridge IDを割り当てることができ、またはWANトンネリングを行うCNEデバイスのRBridge IDを使用することができる。
図33は、本発明の一実施形態による、データセンター間通信を促進するためのCNEデバイスを含む、例示的なネットワークアーキテクチャを図示する。この実施例では、2つのデータセンター3344および3346は、それぞれ、ゲートウェイルータ3324および3328を介してWAN3326に連結される。データセンター3344は、スイッチ3310等のそのメンバースイッチを介して、ホスト3301等のいくつかのホストに連結する、VCS3316を含む。ホスト3301は、デュアルホーミング構成で仮想スイッチ3306および3308に連結される、2つのVM3302および3304を含む。一実施形態では、仮想スイッチ3306および3308は、ホスト3301上の2つのネットワークインターフェースカード上に存在する。仮想スイッチ3306および3308は、VCSメンバースイッチ3310に連結される。また、VCS3316には、CNEデバイス3318も含まれる。CNEデバイス3318は、イーサネット(登録商標)(またはTRILL)リンク3312を介したメンバースイッチ3310からのイーサネット(登録商標)(またはTRILL)トラフィック、およびFCリンク3314を介したFCトラフィックの両方を受信するように構成される。また、CNEデバイス3318には、標的記憶デバイス3320、およびクローン化標的記憶デバイス3322(点線によって表される)も連結される。CNEデバイス3318は、ゲートウェイルータ3324および3328を介して、WAN3326を横断するデータセンター3346へのFCIPトンネルを維持する。
同様に、データセンター3346は、メンバースイッチ3332を含む、VCS3342を含む。メンバースイッチ3332は、その両方が仮想スイッチ3338および3340に連結される、VM3334および3336を含む、ホスト3341に連結される。また、VCS3342には、CNEデバイス3330も含まれる。CNEデバイスは、イーサネット(登録商標)(TRILL)リンクおよびFCリンクを介して、メンバースイッチ3332に連結される。CNEデバイス3330はまた、標的記憶デバイス3322および標的記憶デバイスのクローン3320にも連結される。
動作中、VM3302は、ホスト3301からホスト3341へ移動する必要があると仮定する。仮想マシンが同じレイヤ2ネットワークドメイン内のみで可視的であるため、この移動は以前には可能ではなかったことに留意されたい。いったんレイヤ2ネットワークドメインがゲートウェイルータ3324等のレイヤ3デバイスによって終端されると、特定の仮想マシンに対する全ての識別情報(レイヤ2ヘッダの中で運ばれる)が失われる。しかしながら、本発明の実施形態では、CNEデバイスが、VCS3316からVCS3342へレイヤ2ドメインを拡張するので、データセンター3344からデータセンター3346へのVM3302の移動が可能である。
データセンター3344からデータセンター3346へTRILLフレームを転送するときに、CNEデバイス3318は、宛先RBridge識別子がデータセンター3346に割り当てられたRBridge識別子であるように、退出TRILLフレームのヘッダを修正する。次いで、CNEデバイス3318は、これらのTRILLフレームをCNEデバイス3330に送達するためにFCIPトンネルを使用し、そして、CNEデバイス3330は、これらのTRILLフレームをそれぞれのレイヤ2宛先に転送する。
(データセンターを横断するTRILLファブリック形成)
VCSは、ファブリックを自動的に形成し、RBridge識別子を各メンバースイッチに割り当てるためにFC制御プレーンを使用する。一実施形態では、CNEアーキテクチャは、データセンター間でTRILLおよびSANファブリックを別々にしておく。TRILL視点から、各VCS(それぞれのデータセンターに対応する)は、単一の仮想RBrdigeとして表される。加えて、CNEデバイスは、TRILLリンクおよびFCリンクの両方を用いてVCSメンバースイッチに連結されることができる。CNEデバイスは、TRILLリンクを介してVCSに参加することができる。しかしながら、CNEデバイスが、TRILL VCSファブリックおよびSAN(FC)ファブリックを別々にしておくので、CNEデバイスとメンバースイッチとの間のFCリンクは、FCマルチファブリックのために構成される。
図34に図示されるように、データセンター3408は、ゲートウェイルータ3410を介してWANに連結され、データセンター3420は、ゲートウェイルータ3412を介してWANに連結される。データセンター3408は、メンバースイッチ3404を含む、VCS3406を含む。また、データセンター3408には、CNEデバイス3402も含まれる。CNEデバイス3402は、TRILLリンクおよびFCリンクを介してVCSメンバースイッチ3404に連結される。CNEデバイス3402は、TRILLリンクを介してVCSに参加することができる。しかしながら、FCリンクは、FCトラフィックを運ぶように、CNEデバイス3402がVCSメンバースイッチ3404との別個のFCファブリックを維持することを可能にする。一実施形態では、CNEデバイス3402上のFCポートは、FCEX_portである。メンバースイッチ3404上の対応ポートは、FC E_portである。(ゲートウェイルータ3410に連結する)WAN側のCNEデバイス3402上のポートは、FCIP VE_portである。データセンター3420は、同様の構成を有する。
一実施形態では、各データセンターのVCSは、マルチキャスト目的でROOT RBridgeと指定されたノードを含む。最初の設定中に、VCSの中のCNEデバイスは、各VCSのROOT RBridge識別子を交換する。加えて、CNEデバイスはまた、各データセンターのRBridge識別子も交換する。このRBridge識別子はデータセンター全体を表すことに留意されたい。データセンターRBridge識別子に関係する情報は、ローカルVCSの中の全てのノードに静的ルートとして配信される。
(データセンターを横断するBUMトラフィックの転送)
図35Aは、本発明の一実施形態による、どのようにしてCNEデバイスが、データセンターを横断して、ブロードキャスト、未知のユニキャスト、およびマルチキャスト(BUM)トラフィックを取り扱うかを示す図を提示する。この実施例では、2つのデータセンターDC−1およびDC−2が、コアIPルータを介してIP WANに連結される。DC−1の中のCNEデバイスは、RB4というRBridge識別子を有し、DC−2の中のCNEデバイスは、RB6というRBridge識別子を有する。さらに、DC−1の中のVCSでは、メンバースイッチRB1は、ホストAに連結される。DC−2の中のVCSでは、メンバースイッチRB5は、ホストZに連結される。
ホストAがマルチキャストトラフィックをホストZに送信する必要があり、ホストAはホストZのMACアドレスをすでに知っていると仮定する。動作中、ホストAは、その宛先アドレス(DA)としてホストZのMACアドレス(MAC−Zとして表される)、およびそのソースアドレス(SA)としてホストAのMACアドレス(MAC−Aとして表される)を有する、イーサネット(登録商標)フレーム3502を組み立てる。フレーム3502に基づいて、メンバースイッチRB1は、TRILLフレーム3503を組み立て、そのTRILLヘッダ3506は、宛先RBridgeとしてデータセンターDC−1のルートRBridgeのRBridge識別子(「DC1−ROOT」として表される)、およびソースRBridgeとしてRB1を含む(つまり、DC−1内で、マルチキャストトラフィックがマルチキャストツリー上で配信される)。フレーム3503の外部イーサネット(登録商標)ヘッダ3504は、DAとしてCNEデバイスRB4のMACアドレス(MAC−RB4として表される)、およびSAとしてメンバースイッチRB1のMACアドレス(MAC−RB1として表される)を有する。
フレーム3503は、CNEデバイスRB4に到達したときに、フレーム3505を生成するように、フレームのTRILLヘッダをさらに修正する。CNEデバイスRB4は、TRILLヘッダ3510の中の宛先RBridge識別子を、データセンターDC−2のルートRBridge識別子DC2−ROOTと置換する。ソースRBridge識別子は、データセンターDC−1の仮想RBridge識別子、DC1−RBに変更される(データセンターDC−2がデータセンターDC−1のRBridge識別子を習得することを可能にする)。外部イーサネット(登録商標)ヘッダ3508は、そのDAとしてコアルータのMACアドレス(MAC−RTR)、およびそのSAとしてCNEデバイスRB4のMACアドレス(MAC−DC−1)を有する。
フレーム3505は、後に、FCIPトンネルの中のIP WANを横断して輸送され、CNEデバイスRB6に到達する。対応して、CNEデバイスRB6は、フレーム3507を生成するようにヘッダを更新する。フレーム3507のTRILLヘッダ3514は、フレーム3505と同じままである。外部イーサネット(登録商標)ヘッダ3512は、そのDAとしてメンバースイッチRB5のMACアドレスMAC−RB5、およびそのSAとしてCNEデバイスRB6のMACアドレスMAC−RB6を有する。いったんフレーム3507がメンバースイッチRB5に到達すると、TRILLヘッダが除去され、内部イーサネット(登録商標)フレームがホストZに送達される。
種々の実施形態では、CNEデバイスは、未知のユニキャスト、ブロードキャスト(例えば、ARP)、またはマルチキャスト(例えば、IGMP監視された)トラフィックがデータセンター境界を越えることを可能にするように、または許可しないように構成することができる。これらのオプションを有することによって、データセンターを横断するBUMトラフィックの量を制限することができる。データセンター間の全てのTRILLカプセル化BUMトラフィックを、リモートデータセンターのルートRBrdige識別子とともに送信できることに留意されたい。この移転は、FCIPトンネルの終点で行われる。
データセンターを横断するBUMトラフィックを最小限化するように、追加の機構を実装することができる。例えば、CNEデバイスと任意のVCSメンバースイッチとの間のTRILLポートは、VLAN MGIDのうちのいずれにも参加しないように構成することができる。加えて、両方のVCS上のeNSは、それらの習得したMACアドレスデータベースを同期化して、未知のMAC DAを伴うトラフィックを最小限化するように構成することができる。(一実施形態では、習得したMACアドレスデータベースが異なるVCSの中で同期化される前に、未知のMAC DAを伴うトラフィックがローカルデータセンター内のみで大量に送られることに留意されたい。)
BUMトラフィックをさらに最小限化するために、VCSメンバースイッチ上でARPデータベースを構築するようにARP応答を監視することによって、ARPトラフィック等のブロードキャストトラフィックを低減することができる。次いで、習得したARPデータベースは、eNSを使用して、異なるデータセンターを横断して交換および同期化される。プロキシベースのARPが、VCSにおいて全ての既知のARP要求に応答するために使用される。さらに、eNSを介してIGMP監視情報を共有することにより、データセンターを横断してマルチキャストグループメンバーシップを配信することによって、データセンターを横断するマルチキャストトラフィックを低減することができる。
(データセンターを横断するユニキャストトラフィックの転送)
データセンター間でユニキャストトラフィックを転送する過程は、以下のように説明される。FCIPトンネル形成中に、データセンターを表す論理RBridge識別子が交換される。TRILLフレームがFCIPトンネルの進入ノードに到着したときに、TRILL宛先RBridgeは、リモートデータセンターのRBridge識別子として設定されており、TRILLヘッダの中のソースRBridgeは、ローカルデータセンターに割り当てられた論理RBridge識別子に変換される。フレームがFCIPトンネルから退出するときに、TRILLヘッダの中の宛先RBridgeフィールドは、ローカル(すなわち、宛先)データセンターの仮想RBridge識別子として設定される。次いで、内部イーサネット(登録商標)ヘッダの中のMAC DAおよびVLAN IDが、対応宛先RBridge(すなわち、宛先ホストが取り付けられるメンバースイッチのRBridge識別子)を調べるために使用され、TRILLヘッダの中の宛先RBridgeフィールドが、それに従って更新される。
宛先データセンターでは、進入フレームに基づいて、全てのVCSメンバースイッチは、(フレームの内部イーサネット(登録商標)ヘッダの中の)MAC SAとTRILLソースRBridge(ソースデータセンターに割り当てられた仮想RBridge識別子である)との間のマッピングを習得する。これは、そのMACアドレス宛の将来の退出フレームが、正しいリモートデータセンターに送信されることを可能にする。一実施形態では、所与のデータセンターに割り当てられたRBridge識別子が物理的RBridgeに対応しないので、リモートデータセンターRBridge識別子をローカルCNEデバイスにマップするために静的ルートが使用されることに留意されたい。
図35Bは、本発明の一実施形態による、どのようにしてCNEデバイスが、データセンターを横断してユニキャストトラフィックを取り扱うかを示す図を提示する。ホストAがユニキャストトラフィックをホストZに送信する必要があり、ホストAはホストZのMACアドレスをすでに知っていると仮定する。動作中、ホストAは、そのDAとしてホストZのMACアドレス(MAC−Zとして表される)、およびそのSAとしてホストAのMACアドレス(MAC−Aとして表される)を有する、イーサネット(登録商標)フレーム3502を組み立てる。フレーム3502に基づいて、メンバースイッチRB1は、TRILLフレーム3503を組み立て、そのTRILLヘッダ3506は、宛先RBridgeとしてデータセンターDC−2の仮想RBridgeのRBridge識別子(「DC2−RB」として表される)、およびソースRBridgeとしてRB1を含む。フレーム3503の外部イーサネット(登録商標)ヘッダ3504は、DAとしてCNEデバイスRB4のMACアドレス(MAC−RB4)、およびSAとしてメンバースイッチRB1のMACアドレス(MAC−RB1)を有する。
フレーム3503は、CNEデバイスRB4に到達したときに、フレーム3505を生成するように、フレームのTRILLヘッダをさらに修正する。CNEデバイスRB4は、TRILLヘッダ3511の中のソースRBridge識別子を、データセンターDC−1の仮想RBridge識別子DC1−RBと置換する(データセンターDC−2がデータセンターDC−1のRBridge識別子を習得することを可能にする)。外部イーサネット(登録商標)ヘッダ3508は、そのDAとしてコアルータのMACアドレス(MAC−RTR)、およびそのSAとしてCNEデバイスRB4のMACアドレス(MAC−DC−1)を有する。
フレーム3505は、後に、FCIPトンネルの中のIP WANを横断して輸送され、CNEデバイスRB6に到達する。対応して、CNEデバイスRB6は、フレーム3507を生成するようにヘッダを更新する。フレーム3507のTRILLヘッダ3515は、ホストZに連結するDC−2の中のVCSメンバースイッチであって、RB5である、更新した宛先RBridge識別子を有する。外部イーサネット(登録商標)ヘッダ3512は、そのDAとしてメンバースイッチRB5のMACアドレスMAC−RB5、およびそのSAとしてCNEデバイスRB6のMACアドレスMAC−RB6を有する。いったんフレーム3507がメンバースイッチRB5に到達すると、TRILLヘッダが除去され、内部イーサネット(登録商標)フレームがホストZに送達される。
(MACアドレスの習得、およびデータセンターを横断する構成情報の配信)
未知のMAC DAを伴うフレームのデータセンターを横断するフラッディングは、データセンターが別のデータセンターの中のMACアドレスを習得するための1つの方法である。全ての未知のSAは、RBridgeの後ろのMACとして習得され、CNEデバイスに例外はない。一実施形態では、は、習得したMACアドレスデータベースを配信するためにeNSを使用することができ、データセンターを横断するフラッディングの量を低減する。
フラッシュを最適化するために、MACアドレスがRBridgeの後ろで習得されたとしても、MACアドレスに関連付けられる実際のVCSエッジポートは、eNS MAC更新に存在する。しかしながら、エッジポートIDは、データセンターにわたって一意的ではなくなる場合がある。この問題を解決するために、データセンターにわたる全てのeNS更新は、データセンターのRBridge識別子を用いてMAC入力を修飾する。この構成は、データセンターを横断するポートフラッシュの伝搬を可能にする。
本明細書で説明されるアーキテクチャでは、異なるデータセンターの中のVCSが相互に参加せず、したがって、分散された構成が別々のままにされる。しかしながら、仮想マシンがデータセンターを横断して移動することを可能にするために、データセンターにわたって同期化される必要がある、いくらかの構成データが生じる。一実施形態では、(ソフトウェアまたはハードウェアのいずれか一方での)特別なモジュールが、CNE目的で作成される。このモジュールは、データセンターを横断する仮想マシンの移動を促進するために必要とされる構成情報を読み出すように構成され、それは2つ以上のVCSの間で同期化される。
一実施形態では、習得したMACアドレスデータベースは、データセンターを横断して配信される。また、エッジポート状態変更通知(SCN)も、データセンターを横断して配信される。物理的RBridgeが作動しなくなっている場合に、SCNは、データセンター間FCIPリンク上の複数のポートSCNに変換される。
(CNE使用可能VCSにおける冗長性)
データセンター間接続性を保護するために、VCSは、2つ以上のCNEデバイスの間でvLAGを形成することができる。このモデルでは、vLAG RBridge識別子は、データセンターRBridge識別子として使用される。FCIP制御プレーンは、この配設を認識し、そのような場合においてvLAG RBridge識別子を交換するように構成される。
図14は、本発明の一実施形態による、vLAGを構築するために2つのCNEデバイスが使用される実施例を図示する。この実施例では、VCS1400は、2つのCNEデバイス1406および1408を含む。両方のCNEデバイス1406および1408は、コアIPルータに連結されるvLAG1410を形成する。vLAG1410は、VCS1400のデータセンターRBridge識別子としても使用される、仮想RBridge識別子が割り当てられる。さらに、vLAG1410は、(例えば、等コストマルチパス化(ECMP)に基づいて)VCS1400内の任意のメンバースイッチに対する進入および退出負荷バランシングの両方を促進することができる。
(FCおよびイーサネット(登録商標)スイッチ間リンクの間のルーティング)
既存のルーティングモデルは、全てのスイッチ間リンク(ISL)が到達可能なドメインへの経路であり得ることを仮定する。しかしながら、FCIP使用可能VCSノードが、FCおよびイーサネット(登録商標)ISLの両方を介してVCSに参加する場合、FCoE記憶トラフィックのみがFCリンクを使用する一方で、イーサネット(登録商標)ISLがLANトラフィックに使用されることを確実にするために、特段の注意を払う必要がある。これは、全ての非FCoEトラフィックが、イーサネット(登録商標)ISLのみを使用することを許可される一方で、FCoE VLANトラフィックのみがFCリンクを使用することを可能にすることによって、達成することができる。
(CNEデバイス構造)
図37は、本発明の一実施形態による、例示的なCNEデバイスを図示する。この実施例では、CNEデバイス3700は、いくつかのTRILLポート3702、FCポート3704、およびFCIPポート3705を含む。TRILLポート3702およびFCポート3704は、ローカルデータセンター内でトラフィックを取り扱うために使用される。FCIPポート3705は、IPルータ等のWANネットワーク機器に連結するために使用される。これらのポートは、受信したフレームのヘッダを更新することに関与する、パケットプロセッサ3706に内部で連結される。
パケットプロセッサ3706には、仮想データセンターRBridge識別子を維持すること、リモートデータセンターからアドレス情報を習得すること、およびデータセンターへの発信フレームに対するソースRBrdigeフィールドを更新することに関与する、アドレス管理モジュール3708が連結される。また、CNEデバイス3700には、FCIPトンネルを維持し、FCIPトンネルを介して構成情報を交換することに関与するFCIP管理モジュール3710、およびローカルVCSとのTRILL接続を管理するTRILL管理モジュール3712も含まれる。
本明細書で説明される方法および過程は、コンピュータ可読非一時的記憶媒体に記憶することができる、コードおよび/またはデータとして具現化することができる。コンピュータシステムがコンピュータ可読非一時的記憶媒体上のコードおよび/またはデータを読み取り、実行するときに、コンピュータシステムは、データ構造およびコードとして具現化され、媒体内に記憶された方法および過程を行う。
本明細書で説明される方法および過程は、ハードウェアモジュールまたは装置によって実行する、および/またはそれに含むことができる。これらのモジュールまたは装置は、特定用途向け集積回路(ASIC)チップ、フィールドプログラマブルゲートアレイ(FPGA)、特定の時間に特定のソフトウェアモジュールまたは1つのコードを実行する専用または共有プロセッサ、および/または現在知られている、あるいは後に開発される他のプログラム可能論理素子を含み得るが、それらに限定されない。ハードウェアモジュールまたは装置は、起動されたきに、それらの内側に含まれた方法および過程を行う。
本発明の実施形態の先述の説明は、図示および説明の目的のみで提示されている。それらは、包括的となる、または本開示を限定することを目的としない。したがって、多くの修正および変化例が当業者に明白となるであろう。本開示の範囲は、添付の請求項によって定義される。

Claims (19)

  1. イーサネットヘッダーにおいてカプセル化されているパケットを処理するように構成可能な1つ以上のポートと、
    制御機構と
    を備え、前記制御機構は、
    識別子の手動構成を必要とすることなく、スイッチに対して自動的に割り当てられたTransparent Interconnection of Lots of Links(TRILL)RBridge識別子を適用することと、
    前記識別子に基づいて、ファブリックスイッチに参加することと
    を行うように構成可能であり、
    前記ファブリックスイッチは、単一の論理イーサネットスイッチとして動作する、
    スイッチ。
  2. 前記ファブリックスイッチは、任意のトポロジーで連結されることが可能である1つ以上の物理的スイッチを備えている、請求項1に記載のスイッチ。
  3. 前記パケットは、TRILLヘッダにおいてもカプセル化されている、請求項1に記載のスイッチ。
  4. 前記ファブリックスイッチは、ファイバチャネル(FC)プロトコルに基づいて形成されている、請求項1に記載のスイッチ。
  5. 前記スイッチに適用されている前記TRILL RBridge識別子は、FCスイッチドメインIDに対応している、請求項1に記載のスイッチ。
  6. 前記制御機構は、前記ファブリックスイッチに対する構成情報のコピーを維持するようにさらに構成可能である、請求項1に記載のスイッチ。
  7. 前記ファブリックスイッチに対する構成情報は、前記ファブリックスイッチの中の物理的スイッチに割り当てられたいくつかの論理スイッチ識別子を含む、請求項6に記載のスイッチ。
  8. 媒体アクセス制御(MAC)習得機構をさらに備え、前記MAC習得機構は、
    ポートに関連付けられている進入パケットのソースMACアドレスおよび対応するVLAN識別子を習得することと、
    前記習得したMACアドレス、前記対応するVLAN識別子、および前記対応するポート情報をネームサービスに伝達することと
    を行うように構成可能である、請求項1に記載のスイッチ。
  9. 転送機構をさらに備え、前記転送機構は、受信したパケットを転送する前に、前記受信したパケットの宛先MACアドレスおよび対応するVLAN情報に基づいて、ネームサービスに問い合わせを行うように構成可能である、請求項1に記載のスイッチ。
  10. 交換システムであって、
    TRILLプロトコルを使用してパケットを輸送するように構成されている複数のスイッチと、
    それぞれのスイッチ上に存在する制御機構と
    を備え、
    前記複数のスイッチは、任意のトポロジーで連結されることが可能であり、
    前記制御機構は、手動構成を必要とすることなく、TRILL RBridge識別子を有する、前記交換システム内のそれぞれのスイッチを自動的に構成し、前記交換システムは、対外的に単一の論理イーサネットスイッチとして見える、
    交換システム。
  11. 前記制御機構は、前記それぞれのスイッチについての論理FCスイッチを形成し、前記TRILL RBridge識別子は、FCスイッチドメインIDに対応する、請求項10に記載の交換システム。
  12. それぞれのスイッチは、前記交換システムの中の全てのスイッチの構成情報のコピーを維持している、請求項10に記載の交換システム。
  13. それぞれのスイッチによって習得されたMACアドレスおよびVLAN情報の記録を維持しているネームサービスをさらに備えている、請求項10に記載の交換システム。
  14. イーサネットヘッダーにおいてカプセル化されているパケットを処理することと、
    識別子の手動構成を必要とすることなく、スイッチに対して自動的に割り当てられたTransparent Interconnection of Lots of Links(TRILL)RBridge識別子を適用することと、
    前記識別子に基づいて、ファブリックスイッチに参加することと
    を含み、
    前記ファブリックスイッチは、単一の論理イーサネットスイッチとして動作する、
    方法。
  15. 前記ファブリックスイッチは、任意のトポロジーで連結されることが可能である1つ以上の物理的スイッチを備えている、請求項14に記載の方法。
  16. 前記ファブリックスイッチに対する構成情報のコピーを維持することをさらに含む、請求項14に記載の方法。
  17. FCプロトコルに基づいて、前記ファブリックスイッチを形成することをさらに含む、請求項14に記載の方法。
  18. ポートに関連付けられている進入パケットのソースMACアドレスおよび対応するVLAN識別子を習得することと、
    前記習得したMACアドレス、前記対応するVLAN識別子、および前記対応するポート情報をネームサービスに伝達することと
    をさらに含む、請求項14に記載の方法。
  19. 受信したパケットを転送する前に、前記受信したパケットの宛先MACアドレスおよび対応するVLAN情報に基づいて、ネームサービスに問い合わせを行うことをさらに含む、請求項14に記載の方法。
JP2013509167A 2010-05-03 2011-05-03 仮想クラスタ交換 Expired - Fee Related JP5801383B2 (ja)

Applications Claiming Priority (49)

Application Number Priority Date Filing Date Title
US33067810P 2010-05-03 2010-05-03
US61/330,678 2010-05-03
US33366610P 2010-05-11 2010-05-11
US61/333,666 2010-05-11
US33494510P 2010-05-14 2010-05-14
US61/334,945 2010-05-14
US34595310P 2010-05-18 2010-05-18
US61/345,953 2010-05-18
US34960310P 2010-05-28 2010-05-28
US61/349,603 2010-05-28
US35083810P 2010-06-02 2010-06-02
US61/350,838 2010-06-02
US35225510P 2010-06-07 2010-06-07
US35226410P 2010-06-07 2010-06-07
US61/352,264 2010-06-07
US61/352,255 2010-06-07
US35277610P 2010-06-08 2010-06-08
US35281910P 2010-06-08 2010-06-08
US61/352,819 2010-06-08
US61/352,776 2010-06-08
US38081910P 2010-09-08 2010-09-08
US38080310P 2010-09-08 2010-09-08
US38081810P 2010-09-08 2010-09-08
US38080710P 2010-09-08 2010-09-08
US61/380,807 2010-09-08
US61/380,803 2010-09-08
US61/380,818 2010-09-08
US61/380,819 2010-09-08
US13/042,259 2011-03-07
US13/042,259 US9461840B2 (en) 2010-06-02 2011-03-07 Port profile management for virtual cluster switching
US13/087,239 2011-04-14
US13/087,239 US8867552B2 (en) 2010-05-03 2011-04-14 Virtual cluster switching
US13/092,701 2011-04-22
US13/092,701 US8989186B2 (en) 2010-06-08 2011-04-22 Virtual port grouping for virtual cluster switching
US13/092,580 US9716672B2 (en) 2010-05-28 2011-04-22 Distributed configuration management for virtual cluster switching
US13/092,752 2011-04-22
US13/092,724 2011-04-22
US13/092,877 2011-04-22
US13/092,460 2011-04-22
US13/092,580 2011-04-22
US13/092,460 US9769016B2 (en) 2010-06-07 2011-04-22 Advanced link tracking for virtual cluster switching
US13/092,752 US9270486B2 (en) 2010-06-07 2011-04-22 Name services for virtual cluster switching
US13/092,724 US9001824B2 (en) 2010-05-18 2011-04-22 Fabric formation for virtual cluster switching
US13/092,877 US9231890B2 (en) 2010-06-08 2011-04-22 Traffic management for virtual cluster switching
US13/098,360 US8625616B2 (en) 2010-05-11 2011-04-29 Converged network extension
US13/098,360 2011-04-29
US13/098,490 2011-05-02
US13/098,490 US10673703B2 (en) 2010-05-03 2011-05-02 Fabric switching
PCT/US2011/034917 WO2011140028A1 (en) 2010-05-03 2011-05-03 Virtual cluster switching

Publications (2)

Publication Number Publication Date
JP2013526234A JP2013526234A (ja) 2013-06-20
JP5801383B2 true JP5801383B2 (ja) 2015-10-28

Family

ID=47352244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013509167A Expired - Fee Related JP5801383B2 (ja) 2010-05-03 2011-05-03 仮想クラスタ交換

Country Status (5)

Country Link
EP (3) EP4027611A1 (ja)
JP (1) JP5801383B2 (ja)
CN (2) CN102986172B (ja)
CA (1) CA2797278A1 (ja)
WO (1) WO2011140028A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10764201B2 (en) 2017-11-28 2020-09-01 Dornerworks, Ltd. System and method for scheduling communications

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9769016B2 (en) 2010-06-07 2017-09-19 Brocade Communications Systems, Inc. Advanced link tracking for virtual cluster switching
US8867552B2 (en) 2010-05-03 2014-10-21 Brocade Communications Systems, Inc. Virtual cluster switching
US9270486B2 (en) 2010-06-07 2016-02-23 Brocade Communications Systems, Inc. Name services for virtual cluster switching
US9716672B2 (en) 2010-05-28 2017-07-25 Brocade Communications Systems, Inc. Distributed configuration management for virtual cluster switching
US9806906B2 (en) 2010-06-08 2017-10-31 Brocade Communications Systems, Inc. Flooding packets on a per-virtual-network basis
US9628293B2 (en) 2010-06-08 2017-04-18 Brocade Communications Systems, Inc. Network layer multicasting in trill networks
US9807031B2 (en) 2010-07-16 2017-10-31 Brocade Communications Systems, Inc. System and method for network configuration
US9736085B2 (en) 2011-08-29 2017-08-15 Brocade Communications Systems, Inc. End-to end lossless Ethernet in Ethernet fabric
US9699117B2 (en) 2011-11-08 2017-07-04 Brocade Communications Systems, Inc. Integrated fibre channel support in an ethernet fabric switch
US9450870B2 (en) 2011-11-10 2016-09-20 Brocade Communications Systems, Inc. System and method for flow management in software-defined networks
JP5783632B2 (ja) * 2011-12-14 2015-09-24 Kddi株式会社 ネットワークトラヒック制御装置、制御方法、およびプログラム
US8995272B2 (en) 2012-01-26 2015-03-31 Brocade Communication Systems, Inc. Link aggregation in software-defined networks
JP5679343B2 (ja) * 2012-02-07 2015-03-04 日本電信電話株式会社 クラウドシステム、ゲートウェイ装置、通信制御方法、及び通信制御プログラム
US9742693B2 (en) 2012-02-27 2017-08-22 Brocade Communications Systems, Inc. Dynamic service insertion in a fabric switch
US9154416B2 (en) 2012-03-22 2015-10-06 Brocade Communications Systems, Inc. Overlay tunnel in a fabric switch
US9374301B2 (en) 2012-05-18 2016-06-21 Brocade Communications Systems, Inc. Network feedback in software-defined networks
US10277464B2 (en) 2012-05-22 2019-04-30 Arris Enterprises Llc Client auto-configuration in a multi-switch link aggregation
CN103795623B (zh) 2012-10-26 2017-03-15 杭州华三通信技术有限公司 一种在虚拟设备间实现流量互通的方法和装置
EP2918049B1 (en) * 2012-11-12 2020-06-03 Alcatel Lucent Virtual chassis system control protocols
US9401872B2 (en) 2012-11-16 2016-07-26 Brocade Communications Systems, Inc. Virtual link aggregations across multiple fabric switches
CN103856397B (zh) 2012-12-07 2018-08-14 中兴通讯股份有限公司 多链路透明互连网络中组播转发方法及装置、路由桥
US9350680B2 (en) 2013-01-11 2016-05-24 Brocade Communications Systems, Inc. Protection switching over a virtual link aggregation
US9548926B2 (en) 2013-01-11 2017-01-17 Brocade Communications Systems, Inc. Multicast traffic load balancing over virtual link aggregation
US9413691B2 (en) 2013-01-11 2016-08-09 Brocade Communications Systems, Inc. MAC address synchronization in a fabric switch
US10616049B2 (en) * 2013-01-25 2020-04-07 Dell Products, L.P. System and method for determining the configuration of switches in virtual link trunking environments
JP6127574B2 (ja) * 2013-02-21 2017-05-17 富士通株式会社 スイッチ、スイッチシステム及びプログラム
US9565099B2 (en) 2013-03-01 2017-02-07 Brocade Communications Systems, Inc. Spanning tree in fabric switches
US9401818B2 (en) 2013-03-15 2016-07-26 Brocade Communications Systems, Inc. Scalable gateways for a fabric switch
CN103281248B (zh) * 2013-06-09 2016-03-30 北京星网锐捷网络技术有限公司 网络拓扑的发现方法、装置和系统
US9699001B2 (en) 2013-06-10 2017-07-04 Brocade Communications Systems, Inc. Scalable and segregated network virtualization
JP6061303B2 (ja) * 2013-06-27 2017-01-18 日本電信電話株式会社 ブリッジ装置、通信制御装置、通信制御方法、ブリッジプログラム及び通信制御プログラム
CN103441935B (zh) * 2013-08-16 2016-05-25 北京星网锐捷网络技术有限公司 自动识别服务器与接入交换机的邻接关系的方法及装置
US9806949B2 (en) * 2013-09-06 2017-10-31 Brocade Communications Systems, Inc. Transparent interconnection of Ethernet fabric switches
US9912612B2 (en) 2013-10-28 2018-03-06 Brocade Communications Systems LLC Extended ethernet fabric switches
US9300528B2 (en) 2013-12-13 2016-03-29 International Business Machines Corporation Trill network with multipath redundancy
US9548873B2 (en) 2014-02-10 2017-01-17 Brocade Communications Systems, Inc. Virtual extensible LAN tunnel keepalives
WO2015137977A1 (en) * 2014-03-14 2015-09-17 Hewlett-Packard Development Company, L.P. A switching fabric including a virtual switch
US10581758B2 (en) 2014-03-19 2020-03-03 Avago Technologies International Sales Pte. Limited Distributed hot standby links for vLAG
US10476698B2 (en) 2014-03-20 2019-11-12 Avago Technologies International Sales Pte. Limited Redundent virtual link aggregation group
US10063473B2 (en) 2014-04-30 2018-08-28 Brocade Communications Systems LLC Method and system for facilitating switch virtualization in a network of interconnected switches
US9800471B2 (en) 2014-05-13 2017-10-24 Brocade Communications Systems, Inc. Network extension groups of global VLANs in a fabric switch
CN105337750B (zh) * 2014-07-22 2018-12-14 华为技术有限公司 光纤通道存储区域网络配置方法和装置
US10616108B2 (en) 2014-07-29 2020-04-07 Avago Technologies International Sales Pte. Limited Scalable MAC address virtualization
US9807007B2 (en) * 2014-08-11 2017-10-31 Brocade Communications Systems, Inc. Progressive MAC address learning
US11296930B2 (en) * 2014-09-30 2022-04-05 Nicira, Inc. Tunnel-enabled elastic service model
US9699029B2 (en) 2014-10-10 2017-07-04 Brocade Communications Systems, Inc. Distributed configuration management in a switch group
US9626255B2 (en) 2014-12-31 2017-04-18 Brocade Communications Systems, Inc. Online restoration of a switch snapshot
US9628407B2 (en) 2014-12-31 2017-04-18 Brocade Communications Systems, Inc. Multiple software versions in a switch group
US10003552B2 (en) 2015-01-05 2018-06-19 Brocade Communications Systems, Llc. Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches
US9942097B2 (en) 2015-01-05 2018-04-10 Brocade Communications Systems LLC Power management in a network of interconnected switches
US9787605B2 (en) * 2015-01-30 2017-10-10 Nicira, Inc. Logical router with multiple routing components
US10038592B2 (en) * 2015-03-17 2018-07-31 Brocade Communications Systems LLC Identifier assignment to a new switch in a switch group
US9807005B2 (en) 2015-03-17 2017-10-31 Brocade Communications Systems, Inc. Multi-fabric manager
US10579406B2 (en) 2015-04-08 2020-03-03 Avago Technologies International Sales Pte. Limited Dynamic orchestration of overlay tunnels
US9923811B2 (en) 2015-06-27 2018-03-20 Nicira, Inc. Logical routers and switches in a multi-datacenter environment
US10439929B2 (en) 2015-07-31 2019-10-08 Avago Technologies International Sales Pte. Limited Graceful recovery of a multicast-enabled switch
US10129142B2 (en) 2015-08-11 2018-11-13 Nicira, Inc. Route configuration for logical router
US10075363B2 (en) 2015-08-31 2018-09-11 Nicira, Inc. Authorization for advertised routes among logical routers
US10171303B2 (en) 2015-09-16 2019-01-01 Avago Technologies International Sales Pte. Limited IP-based interconnection of switches with a logical chassis
US10095535B2 (en) 2015-10-31 2018-10-09 Nicira, Inc. Static route types for logical routers
US9912614B2 (en) 2015-12-07 2018-03-06 Brocade Communications Systems LLC Interconnection of switches based on hierarchical overlay tunneling
JP6802530B2 (ja) 2016-01-06 2020-12-16 日本電気株式会社 通信方法
US10153973B2 (en) 2016-06-29 2018-12-11 Nicira, Inc. Installation of routing tables for logical router in route server mode
US10454758B2 (en) 2016-08-31 2019-10-22 Nicira, Inc. Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP
US10237090B2 (en) 2016-10-28 2019-03-19 Avago Technologies International Sales Pte. Limited Rule-based network identifier mapping
CN109213702B (zh) * 2017-06-30 2022-08-30 伊姆西Ip控股有限责任公司 虚拟机环境中的虚拟双控制模块之间的通信
CN107483538B (zh) * 2017-07-06 2021-01-01 聚好看科技股份有限公司 一种在微服务集群的节点上处理访问请求包的方法和装置
US10809926B2 (en) 2018-02-05 2020-10-20 Microsoft Technology Licensing, Llc Server system
CN110460544B (zh) * 2018-05-08 2021-09-07 华为技术有限公司 一种堆叠中交换机的标识分配方法、光缆及相关设备
CN110602022A (zh) * 2018-06-12 2019-12-20 中兴通讯股份有限公司 一种端口的接入认证方法、终端及存储介质
US11777793B2 (en) 2020-04-06 2023-10-03 Vmware, Inc. Location criteria for security groups
US11088902B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Synchronization of logical network state between global and local managers
US11088919B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Data structure for defining multi-site logical network
US11736383B2 (en) 2020-04-06 2023-08-22 Vmware, Inc. Logical forwarding element identifier translation between datacenters
US11683233B2 (en) 2020-04-06 2023-06-20 Vmware, Inc. Provision of logical network data from global manager to local managers
CN111884922B (zh) * 2020-07-21 2022-12-02 芯河半导体科技(无锡)有限公司 跨设备链路聚合的本地转发方法
CN112019459B (zh) * 2020-09-09 2021-10-26 苏州盛科通信股份有限公司 基于堆叠系统中设备动态上下线的报文处理方法及系统
US11343283B2 (en) 2020-09-28 2022-05-24 Vmware, Inc. Multi-tenant network virtualization infrastructure
US20220121928A1 (en) * 2020-10-19 2022-04-21 Google Llc Enhanced reconfigurable interconnect network
US11516087B2 (en) 2020-11-30 2022-11-29 Google Llc Connecting processors using twisted torus configurations

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7209435B1 (en) * 2002-04-16 2007-04-24 Foundry Networks, Inc. System and method for providing network route redundancy across Layer 2 devices
US7751416B2 (en) * 2003-09-18 2010-07-06 Cisco Technology, Inc. Virtual network device
FR2873524B1 (fr) * 2004-07-22 2006-10-27 Alcatel Sa Reseau local a groupe(s) virtuel(s) d'equipements de coeur propres a la commutation de niveau deux
CN1960281B (zh) * 2005-11-02 2010-07-21 盛科网络(苏州)有限公司 具有虚拟线卡的虚拟网络交换系统及其传输方法
US20080159277A1 (en) * 2006-12-15 2008-07-03 Brocade Communications Systems, Inc. Ethernet over fibre channel
JP2009075718A (ja) * 2007-09-19 2009-04-09 Hitachi Ltd 仮想i/oパスの管理方法、情報処理システム及びプログラム
US7792148B2 (en) * 2008-03-31 2010-09-07 International Business Machines Corporation Virtual fibre channel over Ethernet switch

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10764201B2 (en) 2017-11-28 2020-09-01 Dornerworks, Ltd. System and method for scheduling communications

Also Published As

Publication number Publication date
EP2567512A1 (en) 2013-03-13
CN102986172B (zh) 2016-11-09
CN106850381A (zh) 2017-06-13
JP2013526234A (ja) 2013-06-20
CA2797278A1 (en) 2011-11-10
CN106850381B (zh) 2020-04-10
EP3041173A1 (en) 2016-07-06
EP2567512B1 (en) 2016-04-13
EP3041173B1 (en) 2022-01-26
EP4027611A1 (en) 2022-07-13
CN102986172A (zh) 2013-03-20
WO2011140028A1 (en) 2011-11-10

Similar Documents

Publication Publication Date Title
JP5801383B2 (ja) 仮想クラスタ交換
US11438219B2 (en) Advanced link tracking for virtual cluster switching
US9942173B2 (en) Distributed configuration management for virtual cluster switching
US20170155599A1 (en) Virtual cluster switching
US9461911B2 (en) Virtual port grouping for virtual cluster switching
US9848040B2 (en) Name services for virtual cluster switching
US8625616B2 (en) Converged network extension
US9231890B2 (en) Traffic management for virtual cluster switching
US10673703B2 (en) Fabric switching
US8995435B2 (en) Port profile analytics
US20130148511A1 (en) Ampp active profile presentation
US20170078150A1 (en) Ip-based interconnection of switches with a logical chassis

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150318

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150616

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: 20150812

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150826

R150 Certificate of patent or registration of utility model

Ref document number: 5801383

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees