JP2014502089A - スイッチング・ネットワークにおいてフロー制御を実施するための方法、マスタ・スイッチ、スイッチング・ネットワーク、プログラム、装置、システム - Google Patents

スイッチング・ネットワークにおいてフロー制御を実施するための方法、マスタ・スイッチ、スイッチング・ネットワーク、プログラム、装置、システム Download PDF

Info

Publication number
JP2014502089A
JP2014502089A JP2013538321A JP2013538321A JP2014502089A JP 2014502089 A JP2014502089 A JP 2014502089A JP 2013538321 A JP2013538321 A JP 2013538321A JP 2013538321 A JP2013538321 A JP 2013538321A JP 2014502089 A JP2014502089 A JP 2014502089A
Authority
JP
Japan
Prior art keywords
rpi
master switch
lower tier
pfc
data
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.)
Granted
Application number
JP2013538321A
Other languages
English (en)
Other versions
JP5497244B2 (ja
Inventor
カンブル、ケシャヴ、ゴヴィンド
パンデイ、ヴィジョイ
カマス、ダヤヴァンティ、ゴーパル
リュー、ダーレン
キダンビ、ジャヤクリシュナ
メンドン、チャンダラーニ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2014502089A publication Critical patent/JP2014502089A/ja
Application granted granted Critical
Publication of JP5497244B2 publication Critical patent/JP5497244B2/ja
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
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】スイッチング・ネットワークにおいてフロー制御を実施するための方法および装置、マスタ・スイッチ、スイッチング・ネットワーク、ならびにプログラム製品を提供する。
【解決手段】スイッチング・ネットワークは、上位ティアと、複数の下位ティア・エンティティを含む下位ティアとを含む。それぞれの下位ティア・エンティティにそれぞれが結合された複数のポートを有する上位ティアのマスタ・スイッチが、ポートのそれぞれに、そのポートに結合された下位ティア・エンティティの複数のリモート物理インターフェース(RPI)のそれぞれ1つにそれぞれが対応する複数の仮想ポートを実装する。マスタ・スイッチとRPIの間で伝達されるデータ・トラフィックが、そのデータ・トラフィックが伝達される下位ティア・エンティティのRPIに対応する仮想ポート内のキューに追加される。マスタ・スイッチは、対応するRPIが存在する下位ティア・エンティティに、その特定のRPIによって伝達されるデータ・トラフィックの少なくとも2つの異なるクラスに関する優先度を指定する優先度ベース・フロー制御(PFC)データ・フレームを送信することによって、所与の仮想ポートのデータ・トラフィックに対するPFCを施行する。
【選択図】図8

Description

本発明は、一般にはネットワーク通信に関し、詳細には、コンピュータ・ネットワークの改善されたスイッチング・ネットワーク・アーキテクチャに関する。
当技術分野で知られているように、通常、ネットワーク通信は、階層のプロトコル自体は規定せずにさまざまなプロトコル階層の機能を定義するよく知られている7階層の開放型システム間相互接続(OSI)モデルに基づく。本明細書においてレイヤ7からレイヤ1と呼ばれることがある7つの階層は、それぞれ、アプリケーション層、プレゼンテーション層、セッション層、トランスポート層、ネットワーク層、データ・リンク層、および物理層である。
発信局において、データ通信は、データが機能のスタックの最上位(アプリケーション)層の発信プロセスから受け取られるときに始まる。データは、データ・リンク層でビットのデータ・フレームが得られるまでスタックのそれぞれの連続する下層で順次形式を整えられる。最後に、物理層において、データは、ネットワーク・リンクを介して宛先局に電磁信号の形態で送信される。宛先局で受信されるとき、送信されたデータは、そのデータが発信局において処理されたのと反対の順番で対応する機能のスタックを上に向かって通され、したがって、宛先局の受信プロセスに情報を提供する。
OSIモデルによってサポートされる階層化プロトコルのような階層化プロトコルの原則は、データがモデルの階層を上下に通過する間に、発信局および宛先局の階層がピア・ツー・ピアで(すなわち、レイヤN・ツー・レイヤN(Layer N to Layer N)で)インタラクションし、それぞれの個々の階層の機能が、その個々の階層の機能とその個々の階層の直上および直下のプロトコル階層との間のインターフェースに影響を与えることなく実行されることである。この結果を得るために、発信局のプロトコル・スタックの各階層は、通常、送信プロセスによって生成されたデータがスタックを下るにつれてそのデータに情報を(カプセル化されたヘッダの形態で)追加する。宛先局においては、これらのカプセル化されたヘッダが、カプセル化を解除されたデータが受信プロセスに届けられるまで、データがスタックの階層を上に向かって伝わるにつれて1つずつはがされる。
発信局と宛先局とを結ぶ物理的なネットワークは、1つまたは複数の有線または無線ネットワーク・リンクによって相互に接続された任意の数のネットワーク・ノードを含み得る。通常、ネットワーク・ノードは、ネットワーク・トラフィックを生成し、消費するホスト(例えば、サーバ・コンピュータ、クライアント・コンピュータ、モバイル・デバイスなど)、スイッチ、およびルータを含む。通常のネットワーク・スイッチは、異なるネットワーク・セグメントを相互に接続し、OSIモデルのデータ・リンク層(レイヤ2)でデータを処理し、転送する。概して、スイッチは、レイヤ2の媒体アクセス制御(MAC)アドレスによってデータ・トラフィックをフィルタリングすることと、フレームの発信MACアドレスを学習することと、宛先MACアドレスに基づいてフレームを転送することとを含む少なくとも基本的なブリッジ機能を提供する。概して、OSIモデルのネットワーク(レイヤ3)で異なるネットワークを相互に接続するルータは、経路の処理、経路の決定、および経路のスイッチングなどのネットワーク・サービスを実装する。
概して、大規模なネットワークは、管理プレーン、制御プレーン、およびデータ・プレーンで独立に動作する多数のスイッチを含む。したがって、各スイッチは、独立して構成されなければならず、データ・トラフィックに対する独立した制御(例えば、アクセス制御リスト(ACL))を実装し、いかなるその他のスイッチによって処理されるデータ・トラフィックとも無関係にデータ・トラフィックを転送する。
IEEE802.1AX−2008
少なくとも1つの実施形態によれば、コンピュータ・ネットワークの複数のスイッチの管理、制御、およびデータ処理が、改善される。
少なくとも1つの実施形態においては、スイッチング・ネットワークが、マスタ・スイッチを含む上位ティアと、複数の下位ティア・エンティティを含む下位ティアとを含む。マスタ・スイッチは、複数の下位ティア・エンティティのうちのそれぞれ1つとそれぞれが結合された複数のポートを含む。複数のポートのそれぞれは、そのポートに結合された下位ティア・エンティティの複数のリモート物理インターフェース(remote physical interface)(RPI)のうちのそれぞれ1つにそれぞれが対応する複数の仮想ポートを含む。複数のポートのそれぞれは、複数の下位ティア・エンティティの中の特定の下位ティア・エンティティからのデータ・トラフィックの受信に応じて、データ・トラフィックの発信元であった特定の下位ティア・エンティティのRPIに対応する、複数の仮想ポートの中の仮想ポートのキューにそのデータ・トラフィックを追加する受信インターフェースも含む。マスタ・スイッチは、仮想ポートからのデータ・トラフィックを、そのデータ・トラフィックがその出力(egress)ポートから転送される複数のポートの中の出力ポートにスイッチングするスイッチ・コントローラをさらに含む。
少なくとも1つの実施形態においては、スイッチング・ネットワークが、上位ティアと、複数の下位ティア・エンティティを含む下位ティアとを含む。それぞれの下位ティア・エンティティにそれぞれが結合された複数のポートを有する上位ティアのマスタ・スイッチが、ポートのそれぞれに、そのポートに結合された下位ティア・エンティティの複数のリモート物理インターフェース(RPI)のそれぞれ1つにそれぞれが対応する複数の仮想ポートを実装する。マスタ・スイッチとRPIの間で伝達されるデータ・トラフィックが、そのデータ・トラフィックが伝達される下位ティア・エンティティのRPIに対応する仮想ポート内のキューに追加される。マスタ・スイッチは、対応するRPIが存在する下位ティア・エンティティに、その特定のRPIによって伝達されるデータ・トラフィックの少なくとも2つの異なるクラスに関する優先度を指定する優先度ベース・フロー制御(priority-based flow control)(PFC)データ・フレームを送信することによって、所与の仮想ポートのデータ・トラフィックに対するPFCを施行する。
少なくとも1つの実施形態においては、スイッチング・ネットワークが、マスタ・スイッチを有する上位ティアと、複数の下位ティア・エンティティを含む下位ティアとを含む。それぞれの下位ティア・エンティティにそれぞれが結合された複数のポートを有するマスタ・スイッチが、ポートのそれぞれに、そのポートに結合された下位ティア・エンティティの複数のリモート物理インターフェース(RPI)のそれぞれ1つにそれぞれが対応する複数の仮想ポートを実装する。マスタ・スイッチとRPIの間で伝達されるデータ・トラフィックが、そのデータ・トラフィックが伝達されるRPIに対応する仮想ポート内のキューに追加される。マスタ・スイッチは、少なくともデータ・トラフィックがキューに追加される仮想ポートに基づく制御ポリシーにしたがってデータ・トラフィックにデータ処理を適用し、したがって、マスタ・スイッチは、マスタ・スイッチの同じポートの2つの仮想ポートのキューに追加されたデータ・トラフィックに異なるポリシーを適用する。
開示自体、ならびに開示の好ましい使用の形態および利点は、添付の図面と併せて読まれるときに、例示的な実施形態の以下の詳細な説明を参照することによって最も深く理解されるであろう。
一実施形態によるデータ処理環境の高レベルの構成図である。 図1のデータ処理環境内に実装され得る分散ファブリック・プロトコル(DFP)スイッチング・ネットワーク・アーキテクチャの一実施形態の高レベルの構成図である。 図1のデータ処理環境内に実装され得るDFPスイッチング・ネットワーク・アーキテクチャの別の実施形態の高レベルの構成図である。 一実施形態による図3のホストのより詳細な構成図である。 一実施形態によるDFPスイッチング・ネットワークのマスタ・スイッチの例示的な実施形態の高レベルの構成図である。 一実施形態によるDFPスイッチング・ネットワークのフォロワ・スイッチ(followerswitch)の例示的な実施形態の高レベルの構成図である。 一実施形態による管理インターフェースを介して、仮想化されたスイッチとして表示された図2または図3のDFPスイッチング・ネットワーク・アーキテクチャの図である。 一実施形態による、DFPスイッチング・ネットワークを管理するための例示的なプロセスの高レベルの論理的な流れ図である。 一実施形態による、仮想化されたスイッチとして動作するように構成されたDFPスイッチング・ネットワークの上位ティアに下位ティアからネットワーク・トラフィックが転送される例示的なプロセスの高レベルの論理的な流れ図である。 一実施形態による、DFPスイッチング・ネットワークの下位ティアから受信されたデータ・フレームを上位ティアのマスタ・スイッチが処理する例示的なプロセスの高レベルの論理的な流れ図である。 一実施形態による、DFPスイッチング・ネットワークの上位ティアのマスタ・スイッチから受信されたデータ・フレームを下位ティアのフォロワ・スイッチまたはホストが処理する例示的なプロセスの高レベルの論理的な流れ図である。 一実施形態による、DFPスイッチング・ネットワークでリンク・アグリゲーション・グループ(link aggregation group)(LAG)を運用する例示的な方法の高レベルの論理的な流れ図である。 一実施形態による、LAGのメンバーシップを記録するために利用されるLAGデータ構造の例示的な実施形態を示す図である。 一実施形態による、DFPスイッチング・ネットワークにおけるマルチキャストの例示的な方法の高レベルの論理的な流れ図である。 レイヤ2およびレイヤ3・マルチキャスト・インデックス・データ構造(multicastindex data structure)の例示的な実施形態を示す図である。 一実施形態による、DFPスイッチング・ネットワークにおける拡張伝送選択(enhancedtransmission selection)(ETS)の例示的な方法の高レベルの論理的な流れ図である。 一実施形態による、DFPスイッチング・ネットワークのマスタ・スイッチのためにETSを構成するために利用され得る例示的な拡張伝送選択(ETS)データ構造を示す図である。 DFPスイッチング・ネットワークが下位ティアにおいて優先度ベース・フロー制御(PFC)またはその他のサービスあるいはその両方を実施する例示的な方法の高レベルの論理的な流れ図である。 一実施形態による、DFPスイッチング・ネットワークの下位ティアにおいて優先度ベース・フロー制御(PFC)またはその他のサービスあるいはその両方を実装するために利用され得る例示的なPFCデータ・フレーム1800を示す図である。 一実施形態による、マスタ・スイッチから受信されたPFCデータ・フレームをDFPスイッチング・ネットワークの下位レベルのフォロワ・スイッチが処理する例示的なプロセスの高レベルの論理的な流れ図である。 一実施形態による、マスタ・スイッチから受信されたPFCデータ・フレームをDFPスイッチング・ネットワークの下位レベルのホストが処理する例示的なプロセスの高レベルの論理的な流れ図である。
本明細書において開示されるのは、コンピュータ・ネットワークの複数の相互に接続されたスイッチ上に統一された管理プレーン、制御プレーン、およびデータ・プレーンを設けるスイッチング・ネットワーク・アーキテクチャである。
ここで図面を参照し、とくに図1を参照すると、一実施形態よる例示的なデータ処理環境100の高レベルの構成図が示されている。示されるように、データ処理環境100は、リソース102の集合を含む。さまざまなホスト、クライアント、スイッチ、ルータ、ストレージなどを含み得るリソース102は、通信のために相互に接続され、1つまたは複数の公衆ネットワーク、プライベート・ネットワーク、コミュニティ・ネットワーク、またはクラウド・ネットワーク、あるいはこれらの組み合わせで物理的または仮想的にグループ化される可能性がある(図示せず)。このようにして、データ処理環境100は、パーソナル(例えば、デスクトップ、ラップトップ、ネットブック、タブレット、またはハンドヘルド)コンピュータ110a、スマート・フォン110b、サーバ・コンピュータ・システム110c、およびメディア・プレーヤ110d(例えば、セット・トップ・ボックス、デジタル・バーサタイル・ディスク(DVD)プレーヤ、またはデジタル・ビデオ・レコーダ(DVR))などの家庭用電化製品などのさまざまなクライアント・デバイス110がアクセス可能なインフラストラクチャ、プラットフォーム、ソフトウェア、またはサービス、あるいはそれらすべてを提供することができる。図1に示されたクライアント・デバイス110の種類は例示的であるに過ぎず、クライアント・デバイス110は、パケット・ネットワークを介してリソース102と通信し、リソース102にアクセスすることができる任意の種類の電子デバイスである可能性があることを理解されたい。
ここで図2を参照すると、一実施形態による、リソース102内に実装され得る例示的な分散ファブリック・プロトコル(DFP)スイッチング・ネットワーク・アーキテクチャの高レベルの構成図が示されている。示された例示的な実施形態において、リソース102は、DFPスイッチング・ネットワーク200を形成する複数の物理的なネットワーク・スイッチまたは仮想的なネットワーク・スイッチあるいはその両方を含む。各スイッチが独立した管理プレーン、制御プレーン、およびデータ・プレーンを実装する通常のネットワーク環境とは対照的に、DFPスイッチング・ネットワーク200は、統一された管理プレーン、制御プレーン、およびデータ・プレーンを実装し、すべての構成要素であるスイッチが統一された仮想化されたスイッチと見なされることを可能にし、したがって、ネットワーク・ファブリックの配置、構成、および管理を簡素化する。
DFPスイッチング・ネットワーク200は、本実施形態においては、フォロワ・スイッチ202a〜202dを含む複数のフォロワ・スイッチを有する下位ティアと、マスタ・スイッチ204a〜204bを含む複数のマスタ・スイッチを有する上位ティアとを含むスイッチの2つ以上のティアを含む。示されるように2つのティアを有する一実施形態において、各マスタ・スイッチ204のポートは、各フォロワ・スイッチ202のポートのうちの1つにティア間リンク206のうちの1つによって直接的に接続され、各マスタ・スイッチ204のポートは、マスタ・リンク208によって少なくとも1つのその他のマスタ・スイッチ204のポートに直接的にまたは間接的に結合される。そのような区別が適切であるとき、ティア間リンク206を介したスイッチ同士の通信をサポートするポートは、本明細書において「スイッチ間ポート」と呼ばれ、(例えば、フォロワ・スイッチ202a〜202dの)その他のポートは、「データ・ポート」と呼ばれる。
好ましい実施形態において、フォロワ・スイッチ202は、データ・プレーンにおいてパス・スルー・モード(pass-through mode)で動作するように構成され、これはつまり、(例えば、ホストから)フォロワ・スイッチ202のデータ・ポート210で受信されるすべての入力(ingress)データ・トラフィックがフォロワ・スイッチ202によってスイッチ間ポートおよびティア間リンク206を介してマスタ・スイッチ204のうちの1つに転送されることを意味する。そして今度は、マスタ・スイッチ204が、データ・トラフィックのためのファブリックとして働き(したがって、分散ファブリック(distributedfabric)の概念)、データ・トラフィックに関するすべてのパケット・スイッチングおよびルーティングを実施する。この構成を用いて、データ・トラフィックは、例えば、矢印212a〜212dによって示される第1の例示的なフローおよび矢印214a〜214eによって示される第2の例示的なフローで転送される可能性がある。
理解されるであろうように、マスタ・スイッチ204でのフォロワ・スイッチ202に関するスイッチングおよびルーティングの集中化は、マスタ・スイッチ204がデータ・トラフィックが受信されたフォロワ・スイッチ202の入力データ・ポートの知識を持つことを示唆する。好ましい実施形態において、リンク206、208を介したスイッチ同士の通信は、明示的なタグ付けを利用してDFPスイッチング・ネットワーク200上に複数のレイヤ2の仮想ローカル・エリア・ネットワーク(VLAN)を確立するCisco Corporationによって開発されたInter−Switch Link(ISL)プロトコルまたはIEEE802.1QinQなどのレイヤ2・プロトコルを使用する。各フォロワ・スイッチ202は、受信マスタ・スイッチ204にデータ・フレームが受信されたフォロワ・スイッチ202の入力データ・ポート210を伝達するためにデータ・フレームにVLANタグ(サービス・タグ(service tag)(Sタグ(S-tag))としても知られる)を適用することが好ましい。代替的な実施形態においては、入力データ・ポートは、別の識別子、例えば、MAC−in−MACヘッダ、一意的なMACアドレス、IP−in−IPヘッダなどによって伝達される可能性がある。以下でさらに検討されるように、各フォロワ・スイッチ202の各データ・ポート210は、各マスタ・スイッチ204上に対応する仮想ポート(またはvポート(vport))を有し、フォロワ・スイッチ202のデータ・ポート210に到着するデータ・フレームは、受信マスタ・スイッチ204上の対応するvポートに到着したかのように処理される。
ここで図3を参照すると、一実施形態による、リソース102内に実装され得る別の例示的な分散ファブリック・プロトコル(DFP)スイッチング・ネットワーク・アーキテクチャの高レベルの構成図が示されている。DFPスイッチング・ネットワーク300全体で統一された管理プレーン、制御プレーン、およびデータ・プレーンを実装する図3に示されるDFPアーキテクチャは、図2に示されたDFPスイッチング・ネットワーク・アーキテクチャの代替として、または図2のDFPスイッチング・ネットワーク・アーキテクチャに加えてリソース102内で実装され得る。
示された例示的な実施形態において、DFPスイッチング・ネットワーク300内のリソース102は、上位ティアのマスタ・スイッチ204a〜204bのうちの少なくとも1つを実装する1つまたは複数の物理的なネットワーク・スイッチまたは仮想的なネットワーク・スイッチあるいはその両方を含む。スイッチング・ネットワーク300は、下位ティアに複数の物理的なホスト302a〜302dをさらに含む。図4に示されるように、例示的な実施形態において、各ホスト302は、そのホスト302が(1つまたは複数の)マスタ・スイッチ204と通信するインターフェースを提供する1つまたは複数のネットワーク・インターフェース404(例えば、ネットワーク・インターフェース・カード(NIC)、コンバージド・ネットワーク・アダプタ(CNA)など)を含む。ホスト302は、例えば、データ処理環境100においてデータまたはソフトウェアを管理し、アクセスし、操作するためにデータおよびプログラム・コードを処理する1つまたは複数の(概して1つまたは複数の集積回路を含む)プロセッサ402をさらに含む。ホスト302は、ホスト302またはデータ処理環境100の(1つもしくは複数の)その他のリソースあるいはその両方によって実行される処理の入力を受信し、出力を提供するポート、ディスプレイ、ユーザ入力デバイス、および付属デバイス(attached device)などの入力/出力(I/O)デバイス406も含む。最後に、ホスト302は、メモリ、ソリッド・ステート・ドライブ、光学式または磁気式ディスク・ドライブ、テープ・ドライブなどを含む1つまたは複数の揮発性または不揮発性ストレージ・デバイスを含み得るデータ・ストレージ410を含む。データ・ストレージ410は、例えば、(ソフトウェア、ファームウェア、またはこれらの組み合わせを含む)プログラム・コードおよびデータを記憶することができる。
図3に戻ると、各ホスト302によって実行されるプログラム・コードは、(ハイパーバイザとも呼ばれる)仮想マシン・モニタ(VMM)304を含み、VMM304は、そのVMM304のそれぞれの物理ホスト302のリソースを仮想化し、管理する。各VMM304は、1つまたは複数の異種である可能性があるオペレーティング・システムのパーティションの1つまたは複数の仮想マシン(VM)306にリソースを割り当て、そのようなVM306の実行をサポートする。VM306のそれぞれは、少なくともOSIモデルのレイヤ2および3のネットワーク接続性を提供する1つ(場合によっては複数)の仮想ネットワーク・インターフェース(仮想NIC(VNIC))を有する可能性がある。
示されるように、VMM304a〜304dのうちの1つまたは複数は、VM306が属する可能性がある1つまたは複数の仮想スイッチ(VS)310(例えば、(1つまたは複数の)ファイバ・チャネル・スイッチ、(1つまたは複数の)イーサネット・スイッチ、ファイバ・チャネル・オーバ・イーサネット(FCoE)スイッチなど)を任意で提供することができる。同様に、ホスト302のネットワーク・インターフェース404のうちの1つまたは複数は、VM306が接続し得る1つまたは複数の仮想スイッチ(VS)312(例えば、(1つまたは複数の)ファイバ・チャネル・スイッチ、(1つまたは複数の)イーサネット・スイッチ、FCoEスイッチなど)を任意で提供することができる。したがって、VM306は、ティア間リンク206、ネットワーク・インターフェース404、VMM304によって提供される仮想化層、および任意でプログラム・コードまたはハードウェアあるいはその両方で実装された1つまたは複数の仮想スイッチ310、312を介して(1つまたは複数の)マスタ・スイッチ204と通信する。
図2のように、好ましくは、仮想スイッチ310、312は、存在する場合、データ・プレーンにおいてパス・スルー・モードで動作するように構成され、これはつまり、仮想スイッチ310、312の仮想データ・ポートでVM306から受信されるすべての入力データ・トラフィックが仮想スイッチ310、312によってネットワーク・インターフェース404およびティア間リンク206を介してマスタ・スイッチ204のうちの1つに転送されることを意味する。そして今度は、マスタ・スイッチ204が、データ・トラフィックのためのファブリックとして働き、データ・トラフィックに関するすべてのパケット・スイッチングおよびルーティングを実施する。
上で検討されたように、(1つまたは複数の)マスタ・スイッチ204でのホスト302に関するスイッチングおよびルーティングの集中化は、ホスト302からのデータ・トラフィックを受信するマスタ・スイッチ204がデータ・トラフィックの発信元(例えば、リンク・アグリゲーション・グループ(LAG)インターフェース、物理ポート、仮想ポートなど)の知識を持つことを示唆する。やはり、そのようなトラフィックの発信元の情報の伝達を可能にするために、ティア間リンク206を介した通信は、DFPスイッチング・ネットワーク300上に複数のレイヤ2の仮想ローカル・エリア・ネットワーク(VLAN)を確立するための明示的なタグ付けを含む、Cisco Corporationによって開発されたInter−Switch Link(ISL)プロトコルまたはIEEE802.1QinQなどのレイヤ2・プロトコルを利用することが好ましい。各ホスト302は、受信マスタ・スイッチ204にデータ・フレームが受信されたデータ・トラフィックの発信元(例えば、物理ポート、LAGインターフェース、仮想ポート(例えば、VMの仮想ネットワーク・インターフェース・カード(VNIC)、シングル・ルートI/O仮想化(Single Root I/O Virtualization)(SR−IOV)のNICパーティション、またはFCoEポート)など)を伝達するためにデータ・トラフィックにVLANタグを適用することが好ましい。それぞれのそのようなデータ・トラフィックの発信元は、各マスタ・スイッチ204上に対応するvポートを有し、ホスト302のデータ・トラフィックの発信元から発生するデータ・フレームは、受信マスタ・スイッチ204上の対応するvポートに到着したかのように処理される。まとめるために、ホスト302のデータ・トラフィックの発信元およびフォロワ・スイッチ202のデータ・ポート210は、以降、さまざまな種類のリモート物理インターフェース(RPI)の間のなんらかの区別が意図されない限りリモート物理インターフェース(RPI)と呼ばれる。
DFPスイッチング・ネットワーク200および300において、負荷分散は、フォロワ・スイッチ202またはホスト302あるいはその両方の構成を通じて実現され得る。例えば、静的な構成の1つのあり得る実施形態においては、データ・トラフィックが、発信元RPIに基づいてマスタ・スイッチ204の間に分けられ得る。この例示的な実施形態においては、2つのマスタ・スイッチ204が配置される場合、各フォロワ・スイッチ202またはホスト302が、そのフォロワ・スイッチ202またはホスト302のRPIの半数をそれぞれが含む2つの静的なRPIグループを実装し、そして、RPIグループのそれぞれのトラフィックを2つのマスタ・スイッチ204のうちの異なる方に送信するように構成され得る。同様に、4つのマスタ・スイッチ204が配置される場合、各フォロワ・スイッチ202またはホスト302が、そのフォロワ・スイッチ202またはホスト302のRPIの4分の1をそれぞれが含む4つの静的なRPIグループを実装し、そして、RPIグループのそれぞれのトラフィックを4つのマスタ・スイッチ204のうちの異なる1つに送信するように構成され得る。
ここで図5を参照すると、図2〜3のマスタ・スイッチ204のいずれかを実装するために利用され得るスイッチ500aの例示的な実施形態の高レベルの構成図が示されている。
示されるように、スイッチ500aは、複数の物理ポート502a〜502mを含む。各ポート502は、複数の受信(Rx)インターフェース504a〜504mのうちのそれぞれ1つと、関連するRxインターフェース504によって受信されたデータ・フレームをバッファリングする複数の入力キュー506a〜506mのうちのそれぞれ1つとを含む。ポート502a〜502mのそれぞれは、複数の出力キュー514a〜514mのうちのそれぞれ1つと、関連する出力キュー514からのデータ・フレームを送信する複数の送信(Tx)インターフェース520a〜520mのうちのそれぞれ1つとをさらに含む。
一実施形態において、各ポート502の入力キュー506および出力キュー514のそれぞれは、そのポート502で入力データ・トラフィックが受信され得るDFPスイッチング・ネットワーク200、300の下位ティアのRPIごとに複数の(例えば、8個の)キュー・エントリ(queue entry)を提供するように構成される。下位ティアのRPIのために定義されるマスタ・スイッチ204内の複数のキュー・エントリのグループは、本明細書において仮想ポート(vポート)として定義され、vポートの各キュー・エントリはVOQに対応する。例えば、図2に示されたDFPスイッチング・ネットワーク200に関して、スイッチ500aのポート502aは、ポート502aに接続されたフォロワ・スイッチ202のk+1個のデータ・ポート210のそれぞれに関して、入力vポート522a0〜522akのうちのそれぞれ1つと、出力vポート524a0〜524akのうちのそれぞれ1つとを実装するように構成される。スイッチ500aが図3に示されたDFPスイッチング・ネットワーク300で実装される場合、ポート502aは、ティア間リンク206によってポート502aに接続されたホスト302のk+1個のデータ・トラフィックの発信元のそれぞれのためのそれぞれのvポート522を実装するように構成される。同様に、図2に示されたDFPスイッチング・ネットワーク200に関して、スイッチ500aのポート502mは、ポート502mに接続されたフォロワ・スイッチ202のp+1個のデータ・ポート210のそれぞれに関して、入力vポート522m0〜522mpのうちのそれぞれ1つと、出力vポート524m0〜524mpのうちのそれぞれ1つとを実装するように構成される。スイッチ500aが図3に示されたDFPスイッチング・ネットワーク300で実装される場合、ポート502aは、ティア間リンク206によってポート502aに接続されたホスト302のk個のデータ・トラフィックの発信元のそれぞれのためのそれぞれのvポート522を実装する。理解されるであろうように、ポート502のそれぞれで実装される入力vポートの数は、ポート502のそれぞれに接続された特定の下位ティア・エンティティ(例えば、フォロワ・スイッチ202またはホスト302)のRPIの数に応じて変わり得る。したがって、DFPスイッチング・ネットワーク200または300の下位ティアの各RPIは、各マスタ・スイッチ204の物理ポート502の1組の入力vポート522および出力vポート524にマッピングされ、そのRPIからのデータ・フレームが物理ポート502で受信されるとき、ポート502の受信インターフェース504は、データ・フレームをデータ・トラフィックのRPI識別子に基づいて適切な入力vポート522に導くことができる。
マスタ・スイッチ204は、例えば、下位ティア・エンティティ202、302との接続状態によって必要に応じてそのマスタ・スイッチ204の物理ポート502全体でvポート522、524を生成、破棄、無効化、またはマイグレーションする可能性がある。例えば、フォロワ・スイッチ202がより多くのポートを有する代替フォロワ・スイッチ202によって置き換えられる場合、マスタ・スイッチ204は、代替フォロワ・スイッチ202のさらなるRPIを受け入れるために、関連する物理ポート502に追加的なvポート522、524を自動的に生成する。同様に、マスタ・スイッチ204の第1の物理ポートに接続されたホスト302で実行されるVM306が、マスタ・スイッチ204の異なる第2の物理ポートに接続された異なるホスト302にマイグレーションする(すなわち、マイグレーションはスイッチのドメイン内に留まる)場合、マスタ・スイッチ204は、VM306に対応するvポート522、524をマスタ・スイッチ204の第1の物理ポート502からマスタ・スイッチ204の第2の物理ポート502に自動的にマイグレーションする。VM306が所定のフラッシュ間隔(flush interval)以内でそのVM306のマイグレーションを完了する場合、VM306に関するデータ・トラフィックは、スイッチ・コントローラ530aによって認識され、第2の物理ポート502の出力vポート524に転送され得る。このようにして、VM306のマイグレーションは、トラフィックの中断またはデータ・トラフィックの損失なしに実現可能であり、このことは、損失に影響されやすいプロトコルにとって特に有利である。
各マスタ・スイッチ204は、下位ティア・エンティティへのティア間リンク206の喪失(例えば、リンクの状態がアップからダウンに変わる、ティア間リンク206が切断される、または下位ティア・エンティティが故障する)をさらに検出する。ティア間リンク206の喪失が検出される場合、マスタ・スイッチ204は、ティア間リンク206の復元が検出されるまで、関連するvポート522、524を自動的に無効化する。ティア間リンク206が所定のフラッシュ間隔以内に復元されない場合、マスタ・スイッチ204は、キューの容量を取り戻すために、通信が失われた下位ティア・エンティティに関連するvポート522、524を破棄する。フラッシュ間隔中は、スイッチ・コントローラ530aは、無効化された出力vポート524宛てのデータ・トラフィックが入力側でバッファリングされることを許す。ティア間リンク206が回復され、無効化された出力vポート524が再び有効化される場合、バッファリングされたデータ・トラフィックが、損失なく出力vポート524に転送され得る。
スイッチ500aは、スイッチ・コントローラ530aの指示の下で入力キュー506a〜506mのいずれかから出力キュー514a〜514mのいずれかへの(したがって、任意の入力vポート522と任意の出力vポート524の間の)データ・フレームのインテリジェントなスイッチングを行うように動作可能なクロスバー510をさらに含む。理解されるであろうように、スイッチ・コントローラ530aは、すべてハードウェアで、あるいはより多くの場合、処理要素によるファームウェアおよびソフトウェアまたはその両方の実行を通じて制御を実装することができる1つまたは複数の集中型または分散型の専用または汎用処理要素または論理デバイスで実装され得る。
データ・フレームのインテリジェントなスイッチングを行うために、スイッチ・コントローラ530aは、1つまたは複数のデータ・プレーン・データ構造、例えば、通常、連想メモリ(CAM)内の転送テーブルとして実装される転送情報ベース(FIB)532aを構築し、保有する。示された例において、FIB532aは、例えば、MACフィールド536、ポート識別子(PID)フィールド538、および仮想ポート(vポート)識別子(VPID)フィールド540を含み得る複数のエントリ534を含む。したがって、各エントリ534は、データ・フレームの宛先MACアドレスを、そのデータ・フレームのための特定の出力ポート502の特定のvポート520と関連付ける。スイッチ・コントローラ530aは、観測されたデータ・フレームから、ポート502およびvポート520と、データ・フレームによって指定された宛先MACアドレスとの間の関連付けを学習し、学習された関連付けをFIB532aに記録することによって、自動化された方法でFIB532aを構築する。その後、スイッチ・コントローラ530aは、FIB532aに記録された関連付けにしたがってデータ・フレームをスイッチングするようにクロスバー510を制御する。したがって、各マスタ・スイッチ204は、そのマスタ・スイッチ204のレイヤ2およびレイヤ3のQoS、ACL、ならびにその他の管理データ構造を、下位ティアのRPIに対応するvポートごとに管理し、アクセスする。
スイッチ・コントローラ530aは、統一された仮想化されたスイッチに関する管理および制御の中心として働く管理モジュール550をさらに実装する。一実施形態においては、各マスタ・スイッチ204が管理モジュール550を含むが、所与のDFPスイッチング・ネットワーク200または300の単一のマスタ・スイッチ204(本明細書においては管理マスタ・スイッチ204と呼ばれる)のみの管理モジュール550が、一度に動作可能である。(例えば、マスタ・リンク208を介した管理マスタ・スイッチ204によるハートビート・メッセージングが途絶えることによって検出される)管理マスタ・スイッチ204としてそのとき働くマスタ・スイッチ204の故障が発生した場合、事前に決められるか、または残りの動作しているマスタ・スイッチ204の中から選択される可能性がある別のマスタ・スイッチ204が、自動的に、管理マスタ・スイッチ204の役割を引き受け、自身の管理モジュール550を利用してDFPスイッチング・ネットワーク200または300の集中的な管理および制御を提供することが好ましい。
管理モジュール550は、ログインおよび管理者認証情報の入力に応じて、ネットワークに接続された管理者コンソール(例えば、クライアント・デバイス110a〜110cのうちの1つ)に配置された管理者がアクセス可能な管理インターフェース552、例えば、XMLまたはHTMLインターフェースを含むことが好ましい。管理モジュール550は、管理インターフェース552を介してDFPスイッチング・ネットワーク200または300のすべてのスイッチ(例えば、スイッチ204または202あるいはその両方)に存在するすべてのポートの全体像を表示することが好ましい。例えば、図7は、一実施形態による管理インターフェース552を介して、仮想化されたスイッチ600として表示された図2のDFPスイッチング・ネットワーク200の図である。この実施形態において、マスタ・スイッチ204は、フォロワ・スイッチ202が仮想的なライン・カードとして働く仮想的なスイッチング・シャーシ(switching chassis)と見なされ得る。この例において、例えば、管理者コンソールのディスプレイにグラフィカルにまたは表形式であるいはその両方で表され得る仮想化されたスイッチ600は、フォロワ・スイッチ202aのデータ・ポートおよびスイッチ間ポートに対応する仮想化されたポート(Pa〜Pf)602aと、フォロワ・スイッチ202bのデータ・ポートおよびスイッチ間ポートに対応するPl〜Pp 602bと、フォロワ・スイッチ202cのデータ・ポートおよびスイッチ間ポートに対応するPq〜Ps 602cと、フォロワ・スイッチ202dのデータ・ポートおよびスイッチ間ポートに対応するPw〜Pz 602dとを示す。加えて、仮想化されたスイッチ600は、Pg〜Pk 602eによってマスタ・スイッチ204aのスイッチ間ポートを示し、Pt〜Pv 602fによってマスタ・スイッチ204bのスイッチ間ポートを示す。さらに、仮想化されたスイッチ600は、仮想出力キュー(virtualoutput queue)(VOQ)604のそれぞれの組によって、マスタ・スイッチ204に実装された各vポート522、524を示す。例えば、マスタ・スイッチ204a、204bに実装されたvポート522、524のそれぞれは、VOQの組604a〜604kのうちのそれぞれ1つによって示される。仮想化されたスイッチ600とインタラクションすることによって、管理者は、統一されたインターフェースを介してDFPスイッチング・ネットワーク200のフォロワ・スイッチ202およびマスタ・スイッチ204のうちの1つまたは複数(またはすべて)の1つまたは複数の(またはすべての)ポートまたはvポートの所望の制御を(例えば、グラフィカルな入力、テキストの入力、数値の入力、またはその他の入力、あるいはそれらすべてによって)管理し、確立することができる。仮想化されたポートPa〜Pf 602a、Pl〜Pp 602b、Pq〜Ps 602c、およびPw〜Pz 602dに加えて、仮想化されたスイッチ600内にVOQ604a〜604kの組を実装することは、DFPスイッチング・ネットワーク200または300のどちらかのティア(または両方のティア)の各RPIのデータ・トラフィックの(およびRPIのデータ・トラフィックのそれぞれのトラフィックのクラス分けの)個別化された制御の実施を可能にすることに留意されたい。したがって、以下でさらに検討されるように、管理者は、仮想化されたスイッチ600の仮想化されたポートPaとインタラクションすることによって、フォロワ・スイッチ202aの特定のデータ・ポート210の特定のトラフィックのクラス分けの所望の制御を実施することができる。代替的にまたは追加的に、管理者は、データ・ポート210に対応する入力vポート522または出力vポート524を表すVOQの組604の、そのトラフィックのクラス分けに対応する特定のVOQとインタラクションすることによって、そのデータ・ポート210に関するそのトラフィックのクラス分けの所望の制御を確立することができる。
図5に戻ると、スイッチ・コントローラ530aは、DFPスイッチング・ネットワーク200または300を通過するデータ・フレームの所望の制御を実施するために利用され得る制御モジュール560aをさらに含む。制御モジュール560aは、vポートごとに入力または出力あるいはその両方におけるスイッチ500aに関する所望の一式の制御ポリシーを実施するローカル・ポリシー・モジュール562を含む。制御モジュール560は、vポートごとにスイッチ500aへの入力アクセスを制限するローカル・アクセス制御リスト(ACL)564をさらに含み得る。管理マスタ・スイッチ204は、データ・ポートごとに入力または出力あるいはその両方におけるフォロワ・スイッチ202または仮想スイッチ310、312のうちの1つまたは複数に対する所望の一式の制御ポリシーおよびアクセス制御を実施するリモート・ポリシー・モジュール566およびリモートACL568を任意でさらに含む可能性がある。有利なことに、管理マスタ・スイッチ204は、別のマスタ・スイッチ204、フォロワ・スイッチ202、または仮想スイッチ310、312に関する新たに追加されるまたは更新される制御情報(例えば、制御ポリシーまたはACL)を、予約された管理VLANを介して目標のスイッチにプッシュすることができる。したがって、仮想化されたスイッチを通過するトラフィックに関する制御ポリシーおよびその他の制御情報が、マスタ・スイッチ204によってマスタ・スイッチ204のvポート522、524において、フォロワ・スイッチ202によってデータ・ポート210において、または仮想スイッチ310、312の仮想ポートにおいて、あるいはそれらすべてで施行され得る。
DFPスイッチング・ネットワーク200または300内の1つまたは複数の所望の位置でポリシーおよびアクセス制御をグローバルに実施する能力は、いくつかの管理の特徴を容易にする。例えば、マスタ・スイッチ204の間の所望の負荷分散を実現するために、同種のまたは異種の制御ポリシーが、フォロワ・スイッチ202または仮想スイッチ310、312によって実施され、スイッチングおよびルーティングのために(1つまたは複数の)マスタ・スイッチ204に進むデータ・トラフィックの所望の分散を実現することができる。1つの特定の実装において、負荷分散は、異なる通信プロトコルが異なるマスタ・スイッチ204で実行されるようにしてさまざまなトラフィックの種類に応じて行われ得る。このように、マスタ・スイッチ204に接続されたフォロワ・スイッチ202およびホスト302が、複数の異なるトラフィックの種類のそれぞれのプロトコル・データ・ユニット(PDU)をそのプロトコルを担当するマスタ・スイッチ204に導くことによって所望の負荷分散を実施することができる。
図5には明示されていないが、少なくとも一部の実施形態において、スイッチ・コントローラ530aは、レイヤ2のフレームのスイッチングに加えて、当技術分野で知られているように、レイヤ3(およびそれより上位)のルーティングおよびその他のパケット処理をさらに実装する可能性があることを理解されたい。そのような場合、スイッチ・コントローラ530aは、経路をレイヤ3のアドレスに関連付けるルーティング情報ベース(RIB)を含み得る。
ここで図6を参照すると、図2のフォロワ・スイッチ202のいずれかを実装するために利用され得るスイッチ500bの例示的な実施形態の高レベルの構成図が示されている。同様の参照番号で示されるように、スイッチ500bは、複数のポート502a〜502m、スイッチ・コントローラ530b、およびスイッチ・コントローラ530bによって制御されるクロスバー・スイッチ510を用いてスイッチ500aと同様にして構築され得る。しかし、スイッチ500bは、フレームを転送する最終責任をマスタ・スイッチ204に追わせるパス・スルー・モードで動作するように意図されるので、スイッチ・コントローラ530bは、簡素化される。例えば、示された実施形態において、FIB532bの各エントリ534は、(フレームのクラス分けが管理モジュール550によってスイッチ・コントローラ530bにプッシュされる場合に)フレームをクラス分けするために利用される1つまたは複数のフレームのフィールド(例えば、宛先MACアドレス、RPIなど)に関する値を特定するための制御フィールド570と、データ・トラフィックのそのクラス分けを転送するための、マスタ・スイッチ204に接続されるスイッチ530bの出力データ・ポート502を特定する関連するPIDフィールド538とを含む。制御モジュール560は、リモート・ポリシー566またはリモートACL568がサポートされないので同様に簡素化される。最後に、管理モジュール550は、スイッチ500bがマスタ・スイッチ204として働く能力を備える必要がないので完全に省略され得る。
ここで図8を参照すると、一実施形態によるDFPスイッチング・ネットワークを管理するための例示的なプロセスの高レベルの論理的な流れ図が示されている。便宜上、図8のプロセスが、図2〜3のDFPスイッチング・ネットワーク200および300に関連して説明される。本明細書において示されるその他の論理的な流れ図と同様に、ステップは、厳密な発生順ではなく論理的な順序で示され、少なくとも一部のステップは、示されるのとは異なる順序で、または同時に実行され得る。
プロセスは、ブロック700で始まり、次いで、マスタ・スイッチ204a、204bのそれぞれがそのマスタ・スイッチが位置するDFPスイッチング・ネットワーク200または300のメンバーシップおよびトポロジーを学習することを示すブロック702に進む。さまざまな実施形態において、マスタ・スイッチ204a、204bは、例えば、クライアント・デバイス110a〜110cのうちの1つに配置されたネットワーク管理者から構成を受信することによって、または代替的にマスタ・スイッチ204a、204bのそれぞれのスイッチ・コントローラ530aによる自動化されたスイッチ発見プロトコル(switch discovery protocol)の実施によってDFPスイッチング・ネットワーク200または300のトポロジーおよびメンバーシップを学習することができる。DFPスイッチング・ネットワーク200または300内の発見されたメンバーシップに基づいて、マスタ・スイッチ204のそれぞれのスイッチ・コントローラ530aは、各ポート502において、そのポート502で入力データ・トラフィックが受信され得るDFPスイッチング・ネットワーク200、300の下位ティアの各RPIのためのそれぞれの入力vポート522およびそれぞれの出力vポート524を実装する(ブロック704)。その後、管理マスタ・スイッチ204、例えば、マスタ・スイッチ204aが、管理インターフェース552を通じてDFPスイッチング・ネットワーク200または300を仮想化されたスイッチ600として構成し、管理し、制御することを許可する(ブロック706)。仮想化されたスイッチ600として、DFPスイッチング・ネットワーク200または300は、仮想化されたスイッチ600のすべての仮想化されたポート602が単一の物理的なスイッチ内にあるかのように動作するように構成、管理、および制御され得ることを理解されたい。したがって、例えば、ポート・ミラーリング、ポート・トランキング、マルチキャスト、拡張伝送選択(ETS)(例えば、標準草案IEEE802.1Qazによるレート制限およびレート・シェーピング)、ならびに優先度ベース・フロー制御が、対応するRPIが属するスイッチ202、310、312、またはホスト302に無関係に、仮想化されたポート602に関して実施され得る。その後、管理マスタ・スイッチ(例えば、マスタ・スイッチ204a)のスイッチ・コントローラ530aの管理モジュール550が、その他のスイッチの制御モジュール560およびFIB532のプロパティを構成するために、その他のマスタ・スイッチ204、フォロワ・スイッチ202、または仮想スイッチ310、312、あるいはそれらすべてに制御情報をプッシュする(ブロック708)。その後、図8のプロセスは、ブロック710で終了する。
ここで図9を参照すると、一実施形態による、仮想化されたスイッチとして動作するように構成されたDFPスイッチング・ネットワークの上位ティアに下位ティアからネットワーク・トラフィックが転送される例示的なプロセスの高レベルの論理的な流れ図が示されている。便宜上、図9のプロセスが、やはり、図2のDFPスイッチング・ネットワーク200および図3のDFPスイッチング・ネットワーク300に関連して説明される。
示されたプロセスは、ブロック800で始まり、その後、DFPスイッチング・ネットワークの下位ティアのRPIがマスタ・スイッチ204に送信されるべきデータ・フレームを受信することを示すブロック802に進む。ブロック804において破線で描くことによって示されるように、RPIが位置するフォロワ・スイッチ202またはホスト302は、管理マスタ・スイッチ204によってそうするように既に指示されている場合、データ・フレームに対するポリシー制御または(ACLを参照することによる)アクセス制御を任意で施行することができる。
ブロック806において、下位ティアのフォロワ・スイッチ202またはホスト302は、データ・フレームが受信された入力RPIを特定するために、データ・フレームにRPI識別子(例えば、Sタグ)を適用する。下位ティアのフォロワ・スイッチ202またはホスト302は、次いで、データ・フレームをDFPスイッチング・ネットワーク200または300の上位ティアのマスタ・スイッチ204に転送する(ブロック808)。フォロワ・スイッチ202の場合、データ・フレームは、ブロック808において、FIB532bによって示されるスイッチ間出力ポートを介して転送される。その後、図9に示されたプロセスは、ブロック810において終了する。
図10を参照すると、一実施形態による、DFPスイッチング・ネットワークの下位ティアから受信されたデータ・フレームを上位ティアのマスタ・スイッチが処理する例示的なプロセスの高レベルの論理的な流れ図が示されている。示されたプロセスは、ブロック900で始まり、次いで、DFPスイッチング・ネットワーク200または300のマスタ・スイッチ204がそのマスタ・スイッチ204のポート502でフォロワ・スイッチ202またはホスト302からデータ・フレームを受信することを示すブロック902に進む。データ・フレームの受信に応じて、データ・フレームが受信されたポート502の受信インターフェース504が、データ・フレームによって指定されたRPI識別子(例えば、Sタグ)にしたがってデータ・フレームを事前にクラス分けし、データ・フレームをそのRPIに関連する入力vポート522のキューに追加する(ブロック904)。ブロック904から、図10に示されたプロセスは、ブロック910と920の両方に進む。
ブロック910において、スイッチ・コントローラ530aが、データ・フレームによって指定された宛先MACアドレスを利用してFIB532aにアクセスする。一致するMACフィールド536を有するFIBのエントリ534が見つかる場合、処理は、以下で説明されるブロック922〜928で継続する。しかし、スイッチ・コントローラ530aが、ブロック910において、宛先MACアドレスが未知であると判定する場合、スイッチ・コントローラ530aは、通常の発見技術を利用して宛先MACアドレスと、出力ポート502と、宛先RPIとの間の関連付けを学習し、それに応じてFIB532aを更新する。次いで、プロセスは、ブロック922〜928に進む。
ブロック920において、スイッチ・コントローラ530aは、データ・フレームに、制御モジュール560aによって入力vポート522に対して指定された任意のローカル・ポリシー562またはローカルACL564を適用する。加えて、スイッチ・コントローラ530aは、データ・フレームの入力に対する任意のその他の特別な処理を実行する。以下でより詳細に検討されるように、この特別な処理は、例えば、ポート・トランキング、優先度ベース・フロー制御、マルチキャスト、ポート・ミラーリング、またはETSの実施を含み得る。それぞれの種類の特別な処理が、以下でさらに説明されるように、入力または出力あるいはその両方でデータ・トラフィックに適用される可能性がある。次いで、プロセスは、ブロック922〜928に進む。
ここでブロック922〜924を参照すると、スイッチ・コントローラ530aが、一致するFIBのエントリ534のVPIDフィールド540で指定された(または発見プロセスによって学習された)RPI識別子に等しくなるようにデータ・フレームのRPI識別子を更新し、データ・フレームを、一致するFIBのエントリ534のPIDフィールド538によって特定された(または発見プロセスによって学習された)対応する出力vポート524のキューに追加する。ブロック926において、スイッチ・コントローラ530aは、データ・フレームに、制御モジュール560aによって出力vポート524に対して指定された任意のローカル・ポリシー562またはローカルACL564を適用する。加えて、スイッチ・コントローラ530aは、例えば、ポート・トランキング、優先度ベース・フロー制御、マルチキャスト、ポート・ミラーリング、またはETSの実施を含む、データ・フレームの出力に対する任意のその他の特別な処理を実行する。その後、マスタ・スイッチ204は、データ・フレームをティア間リンク206を介してDFPスイッチング・ネットワーク200または300の下位ティア(例えば、フォロワ・スイッチ202またはホスト302)に転送する(ブロック928)。その後、図10に示されたプロセスは、ブロック930で終了する。
ここで図11を参照すると、一実施形態による、DFPスイッチング・ネットワーク200または300の上位ティアのマスタ・スイッチから受信されたデータ・フレームを下位ティアのフォロワ・スイッチ202またはホスト302が処理する例示的なプロセスの高レベルの論理的な流れ図が示されている。図11に示されたプロセスは、ブロック1000で始まり、次いで、フォロワ・スイッチ202またはホスト302などの下位ティア・エンティティが、例えば、フォロワ・スイッチ202のスイッチ間ポート502で、またはホスト302のネットワーク・インターフェース404もしくはVMM304でマスタ・スイッチ204からデータ・フレームを受信することを示すブロック1002に進む。
データ・フレームの受信に応じて、下位レベル・エンティティは、マスタ・スイッチ204によって更新されたRPI識別子をデータ・フレームから取り除く(ブロック1004)。次に、下位レベル・エンティティは、データ・フレームを、抽出されたRPI識別子によって特定されたRPIに流す(ブロック1006)。したがって、例えば、スイッチ・コントローラ530bが、そのRPIまたはデータ・フレームの宛先MACアドレスあるいはその両方を用いてそのスイッチ・コントローラ530bのFIB532bにアクセスして一致するFIBのエントリ534を特定し、次に、一致するFIBのエントリ534のPIDフィールド538で指定されたポートにデータ・フレームを転送するようにクロスバー510を制御する。ホストのネットワーク・インターフェース404またはVMM304も、同様にして、RPI識別子によって示されたRPIにデータ・フレームを導く。その後、プロセスは、ブロック1008で終了する。
ここで図12を参照すると、一実施形態による、DFPスイッチング・ネットワークでリンク・アグリゲーション・グループ(LAG)を運用する例示的な方法の高レベルの論理的な流れ図が示されている。また、リンク・アグリゲーションは、当技術分野において、トランキング、リンク・バンドリング、ボンディング、チーミング、ポート・チャネル、EtherChannel、およびマルチ・リンク・トランキングとさまざまに呼ばれる。
図12に示されたプロセスは、ブロック1100で始まり、次いで、複数のRPIを含むLAGの、DFPスイッチング・ネットワーク200または300のマスタ・スイッチ204における確立を示すブロック1102に進む。通常のLAGと異なり、DFPスイッチング・ネットワーク200または300で確立されるLAGは、複数の異なる(および異種である可能性がある)フォロワ・スイッチ202またはホスト302あるいはその両方のRPIを含み得る。例えば、図2〜3のDFPスイッチング・ネットワーク200および300においては、単一のLAGが、フォロワ・スイッチ202a〜202dまたはホスト302a〜302dあるいはその両方のうちの1つまたは複数のRPIを含む可能性がある。
少なくとも一部の実施形態において、LAGは、例えば、クライアント・デバイス110a〜110cのうちの1つに配置されたシステム管理者が管理マスタ・スイッチ204の管理インターフェース552とインタラクションすることによって、マスタ・スイッチ204の静的な構成によってマスタ・スイッチ204において確立され得る。代替的にまたは追加的に、LAGは、参照により本明細書に組み込まれているIEEE802.1AX−2008で定義されたリンク・アグリゲーション制御プロトコル(Link Aggregation Control Protocol)(LACP)によるマスタ・スイッチ204と1つまたは複数の下位ティア・エンティティ(例えば、フォロワ・スイッチ202またはホスト302)との間のメッセージの交換によってマスタ・スイッチ204において確立され得る。LAGはマスタ・スイッチ204において確立されるので、LAGに属するティア間リンク206に接続された下位レベル・エンティティの必ずしもすべてがLAGのサポートを提供する(またはLAGの存在を認識することさえ)必要はないことを理解されたい。
好ましくは、ブロック1102に示されたマスタ・スイッチ204におけるLAGの確立は、図13に示されるスイッチ・コントローラ530a内のLAGデータ構造1200にLAGのメンバーシップを記録することを含む。示された例示的な実施形態において、LAGデータ構造1200は、それぞれのLAGにおけるメンバーシップをそれぞれが指定する1つまたは複数のLAGメンバーシップ・エントリ1202を含む。1つの好ましい実施形態において、LAGメンバーシップ・エントリ1202は、LAGを形成するRPIまたはRPIに関連するvポート520によってLAGのメンバーシップを表現する。その他の実施形態においては、LAGは、代替的にまたは追加的に、マスタ・スイッチ204とRPIとを接続するティア間リンク206によって表現される可能性がある。理解されるであろうように、LAGデータ構造1200は、独立したデータ構造として実装され得るか、またはFIB532aなどの別のデータ構造の1つもしくは複数のフィールドで実装され得る。
LAGの確立に続いて、マスタ・スイッチ204は、図10のブロック920〜926を参照して上述されたように、LAG内のRPIに導かれるデータ・フレームに対する特別な処理を実行する。特に、ブロック1104に示されるように、スイッチ・コントローラ530aが、転送するために受信されたデータ・フレームを監視し、例えば、FIB532aまたはLAGデータ構造1200あるいはその両方を参照することによって、データ・フレームに含まれる宛先MACアドレスがLAGに属するRPIに関連することが分かっているか否かを判定する。ブロック1104における否定の判定に応じて、プロセスは、以下で説明されるブロック1112に進む。しかし、スイッチ・コントローラ532aが、ブロック1104において、データ・フレームがLAGに属するRPIに関連する宛先MACにアドレス指定されていると判定する場合、スイッチ・コントローラ532aは、LAGのメンバーシップの中からそのデータ・フレームのための出力RPIを選択する。
ブロック1110において、スイッチ・コントローラ532aは、ラウンド・ロビン、ブロードキャスト、負荷分散、またはハッシュを含む複数のLAGのポリシーのいずれかに基づいてLAGのメンバーシップの中から出力RPIを選択することができる。ハッシュされるLAGのポリシーの1つの実装において、スイッチ・コントローラ532aは、所与の宛先MACアドレスのために同じRPIを常に選択するために、発信元MACアドレスと宛先MACアドレスの排他的論理和を取り、その結果に対してLAGのサイズを用いてモジュロ演算を実行する。その他の実施形態において、ハッシュされるLAGのポリシーは、発信元IPアドレス、宛先IPアドレス、発信元MACアドレス、宛先アドレス、もしくは発信元RPI、またはそれらすべてなどを含む異なるまたはさらなる要因に基づいて出力RPIを選択する可能性がある。
ブロック1112に示されるように、例えば、マスタ・スイッチ204の静的な構成を削除することによってまたはLCAPを介してLAGが構成を解除されるまで、LAG全体へのデータ・フレームの「散布」または分散が継続する。その後、図12に示されたプロセスは、ブロック1120で終了する。
異なる下位レベル・エンティティにわたるマスタ・スイッチ204における分散されたLAGを実装する能力は、追加的なネットワークの能力をもたらす。例えば、同じサービスを提供する複数のVM306を含むDFPスイッチング・ネットワーク300においては、すべてのそのようなVMをメンバーとして有するLAGを形成することは、サービスに関するデータ・トラフィックが、VMM304によるいかなる管理もなしにサービス・タグおよびその他のタプルのフィールドに基づいてVM306全体に自動的に負荷分散されることを可能にする。さらに、そのような負荷分散は、異なるVMM304および異なるホスト302で実行されるVM306にまたがって実現され得る。
上述のように、図10のブロック920〜926において任意で実行される特別な処理は、LAGへのフレームの分散だけでなく、データ・トラフィックのマルチキャストも含み得る。ここで図14を参照すると、一実施形態による、DFPスイッチング・ネットワークにおけるマルチキャストの例示的な方法の高レベルの論理的な流れ図が示されている。プロセスは、ブロック1300で始まり、次いで、図10のブロック920〜926を参照して既に説明されたように、マルチキャスト・データ・トラフィックのためにマスタ・スイッチによって実行される特別な処理を示すブロック1302〜1322に進む。
具体的には、ブロック1310において、マスタ・スイッチ204のスイッチ・コントローラ530aが、データ・トラフィック内で指定された宛先MACアドレスまたはIPアドレスを参照することによって、データ・トラフィックがマルチキャスト配信を要求するかどうかを判定する。例えば、IPは、224.0.0.0から239.255.255.255までをマルチキャスト・アドレスのために予約しており、イーサネットは、少なくとも表Iにまとめられたマルチキャスト・アドレスを利用する。
Figure 2014502089
データ・トラフィックがマルチキャスト処理を必要としないとのブロック1310における判定に応じて、(その他の特別な処理が実行される可能性があるが)マルチキャスト処理はデータ・トラフィックに対して実行されず、プロセスはブロック1310で反復する。しかし、スイッチ・コントローラ530aが、ブロック1310において、入力データ・トラフィックがマルチキャスト・トラフィックであると判定する場合、プロセスは、ブロック1312に進む。
ブロック1312において、スイッチ・コントローラ530aは、マルチキャスト・インデックス・データ構造内でそのマルチキャスト・データ・トラフィックの検索を行う。例えば、図15に示される1つの例示的な実施形態においては、スイッチ・コントローラ530aが、レイヤ2のマルチキャスト・フレームのためのレイヤ2・マルチキャスト・インデックス・データ構造1400と、レイヤ3のマルチキャスト・パケットのためのレイヤ3・マルチキャスト・インデックス・データ構造1410とを実装する。示された例示的な実施形態において、例えばテーブルとして実装され得るレイヤ2・マルチキャスト・インデックス・データ構造1400は、入力RPI、発信元MACアドレス、宛先MACアドレス、およびVLANから形成される4つ組みフィールド1404を、マルチキャスト宛先データ構造1420に対するインデックスを指定するインデックス・フィールド1406にそれぞれが関連付ける複数のエントリ1402を含む。同様にテーブルとして実装され得るレイヤ3・マルチキャスト・インデックス・データ構造1410は、発信元レイヤ3(例えば、IP)アドレスおよびマルチキャスト・グループIDから形成される2つ組みフィールド1414を、マルチキャスト宛先データ構造1420に対するインデックスを指定するインデックス・フィールド1416にそれぞれが関連付ける複数のエントリ1412を含む。さらに、テーブルまたはリンクされたリストとしてやはり実装され得るマルチキャスト宛先データ構造1420は、データ・トラフィックが送信されるべき下位ティアの1つまたは複数のRPIをそれぞれが特定する複数のマルチキャスト宛先エントリ1422を含む。レイヤ2・マルチキャスト・データ構造1400、レイヤ3・マルチキャスト・インデックス・データ構造1410、およびマルチキャスト宛先データ構造1420は、すべて、通常のMCの学習プロセスで制御プレーンによってデータを投入されることが好ましい。
したがって、ブロック1312において、スイッチ・コントローラ530aは、データ・トラフィックがレイヤ2・マルチキャスト・フレームである場合、レイヤ2・マルチキャスト・インデックス・データ構造1400内でマルチキャスト宛先データ構造1420に対するインデックスを得るための検索を行い、データ・トラフィックがL3・マルチキャスト・パケットである場合、レイヤ3・マルチキャスト・インデックス・データ構造1410内の検索を行う。ブロック1314に示されるように、マスタ・スイッチ204は、好ましくはスイッチ・コントローラ530aにおいて構成された所望の実装によって、入力の複製または出力の複製のどちらかを通じてデータ・トラフィックのマルチキャストを処理することができる。出力の複製がマスタ・スイッチ204で構成される場合、プロセスは、スイッチ・コントローラ530aが、データ・トラフィックの単一のコピーがクロスバー510を通過し、ブロック1312において取得されたインデックスによって特定されたマルチキャスト宛先エントリ1422で特定されたRPIに対応する各出力キュー514で複製されるようにすることを示すブロック1316に進む。理解されるであろうように、マルチキャスト・トラフィックの出力の複製は、ヘッド・オブ・ライン(HOL)ブロッキング(head-of-line (HOL) blocking)を代償としてクロスバー510の帯域幅の利用を削減する。ブロック1316に続いて、マスタ・スイッチ204による複製されたデータ・トラフィックの処理が、図10に既に示されたように継続する(ブロック1330)。
一方、マスタ・スイッチ204が入力の複製のために構成される場合、プロセスは、ブロック1314から、スイッチ・コントローラ530aが、インデックスで指定されたマルチキャスト宛先エントリ1422で特定されたRPIに関連する出力キュー514を有するポート502の入力キュー506のそれぞれの中でマルチキャスト・データ・トラフィックが複製されるようにすることを示すブロック1320に進む。理解されるであろうように、このような入力の複製は、HOLブロッキングを解消する。ブロック1320に続いて、データ・トラフィックは、図10を参照して上で検討されたように追加的な処理を受ける。そのような処理において、スイッチ・コントローラ530aは、入力で複製されたマルチキャスト・データ・トラフィックを入力キュー506から同じポート502の出力キュー514に直接送信するようにクロスバー510を制御する。
理解されるであろうように、フォロワ・スイッチ202ではなく、説明されたようにDFPスイッチング・ネットワーク200のマスタ・スイッチ204にMCの処理を実装することは、データ・トラフィックのマルチキャスト配信に対応している必要がない簡素化されたフォロワ・スイッチ202の使用を可能にする。
図10のブロック920〜926を参照して上で説明されたように、DFPスイッチング・ネットワークにおけるデータ・トラフィックの特別な処理は、データ・トラフィックに対するETSの適用を任意で含む可能性がある。図16は、一実施形態による、DFPスイッチング・ネットワーク200または300における拡張伝送選択(ETS)の例示的な方法の高レベルの論理的な流れ図である。
図16に示されたプロセスは、ブロック1500で始まり、次に、例えば、DFPスイッチング・ネットワーク200または300の管理マスタ・スイッチ204の管理インターフェース552を介して、ETSを実施するようにマスタ・スイッチ204を構成することを示すブロック1502に進む。さまざまな実施形態において、ETSは、マスタ・スイッチ204の入力または出力あるいはその両方で実施されるように構成される。
標準草案IEEE802.1Qazで定義されているETSは、複数のトラフィック・クラス・グループ(traffic class group)を確立し、TCGの間でリンクの利用の所望のバランスを実現するために、トラフィックのキュー(例えば、入力vポート522または出力vポート524)からのさまざまなTCGのデータ・トラフィックの送信の優先度(すなわち、スケジューリング)を指定する。ETSは、各TCGに関する最小の保証される帯域幅を確立するだけでなく、優先度のより高いTCGが名目的に利用可能な利用される帯域幅を優先度のより低いトラフィックが消費することも可能にし、それによって、優先度のより低いトラフィックのスターベーションを防止しながらリンクの利用および柔軟性を改善する。マスタ・スイッチ204におけるETSの構成は、例えば、マスタ・スイッチ204のスイッチ・コントローラ530a内で、図17に示されるようなETSデータ構造1600を確立すること、またはそのようなETSデータ構造1600にデータを投入すること、あるいはその両方を含み得る。図17に示される例示的な実施形態において、例えばテーブルとして実装され得るETSデータ構造1600は、複数のETSエントリ1602を含む。示された実施形態において、各ETSエントリ1602は、所与のTCGに属する(1つまたは複数の)トラフィックの種類(例えば、ファイバ・チャネル(FC)、イーサネット、FCオーバ・イーサネット(FCoE)、iSCSIなど)を定義するTCGフィールド1604と、TCGフィールド1604で定義されたTCGに関する保証される最小の帯域幅を(例えば、絶対的にまたは割合として)定義する最小フィールド1606と、TCGフィールド1604で定義されたTCGに関する最大の帯域幅を(例えば、絶対的にまたは割合として)定義する最大フィールド1608とを含む。
図16に戻ると、マスタ・スイッチ1502においてETSを構成した後、プロセスは、図10のブロック920〜926においてETSに関して任意で実行される特別な処理を示すブロック1504〜1510に進む。具体的には、ブロック1504は、入力vポート520または出力vポート522で受信されたデータ・フレームが、例えばETSデータ構造1600によって定義された現在構成されているETSのTCGに属するトラフィック・クラスに属するか否かをマスタ・スイッチ204が判定することを示す。理解されるであろうように、データ・フレームは、通常のイーサネット・フレームなどのEthertypeフィールドに基づいてクラス分けされ得る。受信されたデータ・フレームが現在構成されているETSのTCGに属さないとのブロック1504における判定に応じて、データ・フレームは、ベスト・エフォートのスケジューリングを受け、プロセスは、以下で説明されるブロック1512に進む。
ブロック1504に戻ると、受信されたデータ・フレームが現在構成されているETSのTCGに属するとの判定に応じて、マスタ・スイッチ204は、ETSデータ構造1600の関連するETSエントリ1602のフィールド1606、1608内でそのETSのTCGに対して指定された最小および最大帯域幅にしたがうようにデータ・フレームに対してレート制限およびトラフィック・シェーピングを適用する(ブロック1510)。上述のように、構成に応じて、マスタ・スイッチ204は、入力vポート522または出力vポート524あるいはその両方のVOQに対してETSを適用することができる。次いで、プロセスは、マスタ・スイッチ204が、ブロック1504および1510で示されたようにトラフィック・クラスに対するETSを、そのトラフィック・クラスに関してETSが構成を解除されるまで実施することを示すブロック1512に進む。その後、図16に示されたプロセスは、ブロック1520で終了する。
DFPスイッチング・ネットワーク200または300においては、有利なことに、フロー制御が、図16〜17を参照して説明されたようにマスタ・スイッチ204において実施され得るだけでなく、フォロワ・スイッチ202およびホスト302などの下位ティア・エンティティのRPIにおいても実施され得る。ここで図18を参照すると、DFPスイッチング・ネットワーク200または300が下位ティアにおいて優先度ベース・フロー制御(PFC)またはその他のサービスあるいはその両方を実施する例示的な方法の高レベルの論理的な流れ図が示されている。
図18に示されたプロセスは、ブロック1700で始まり、次いで、マスタ・スイッチ204が、例えば、(1)下位ティア・エンティティの少なくとも1つのRPIに対応する仮想化されたポート602a〜602dに関するPFCの構成を、管理モジュール550を実行する管理マスタ・スイッチ204で受信すること、または(2)ネットワーク内の下流のエンティティから生じ、パス・スルー・フォロワ・スイッチ202を介してマスタ・スイッチ204で受信される規格に基づくPFCデータ・フレームをマスタ・スイッチ204で受信することに応じてDFPスイッチング・ネットワーク200または300の下位ティアのエンティティに関する優先度ベース・フロー制御(PFC)を実施することを示すブロック1702に進む。当業者に理解されるであろうように、規格に基づくPFCデータ・フレームは、トラフィック・フローの輻輳を上流のエンティティに知らせるために、上流のエンティティからデータ・トラフィック・フローを受信する下流のエンティティによって生成され得る。マスタ・スイッチ204が下位ティア・エンティティに関するPFCの構成を受信したとのブロック1702における肯定の判定に応じて、プロセスは、マスタ・スイッチ204が、PFCに関して下位ティア・エンティティを構成するためにPFC構成フィールドによって拡張された独自仕様のデータ・フレーム(以降、独自仕様PFCデータ・フレームと呼ばれる)を構築し、その独自仕様のデータ・フレームを少なくとも1つの下位ティア・エンティティ(例えば、フォロワ・スイッチ202またはホスト302)に送信することを示すブロック1704に進む。その後、図18に示されたプロセスは、ブロック1706において終了する。
ここで図19を参照すると、一実施形態による例示的な独自仕様PFCデータ・フレーム1800の構造が示されている。図18のブロック1704を参照して既に説明されたように、独自仕様PFCデータ・フレーム1800は、下位ティア・エンティティにおいてPFCを実施するために、マスタ・スイッチ204によって構築され、フォロワ・スイッチ202またはホスト302などのDFPスイッチング・ネットワークの下位ティア・エンティティに送信され得る。
示された例示的な実施形態において、独自仕様PFCデータ・フレーム1800は、拡張されたイーサネットMAC制御フレームとして実装される。結果として、独自仕様PFCデータ・フレーム1800は、マスタ・スイッチ204がデータ・フレームを受信する可能性がある下位ティア・エンティティのRPIのMACアドレスを指定する宛先MACアドレス・フィールド1802と、独自仕様PFCデータ・フレーム1800が送信されるマスタ・スイッチ204の出力vポートを特定する発信元MACアドレス・フィールド1804とを含む。アドレス・フィールド1802、1804の後には、(例えば、値0x8808によって)PFCデータ・フレーム1800をMAC制御フレームとして特定するEthertypeフィールド1806が続く。
次に、独自仕様PFCデータ・フレーム1800のデータ・フィールドが、(例えば、PAUSEコマンドの値0x0101によって)独自仕様PFCデータ・フレーム1800がフロー制御を実施するためのものであることを示すMAC制御命令コード・フィールド1808から始まる。MAC制御命令コード・フィールド1808の後には、有効化フィールド(enable field)1812およびクラス・ベクトル・フィールド(class vector field)1814を含む優先度有効化ベクトル(priorityenable vector)1810が続く。一実施形態において、有効化フィールド1812は、独自仕様PFCデータ・フレーム1800が独自仕様PFCデータ・フレーム1800の宛先である下位ティア・エンティティのRPIでフロー制御を実施するためのものであるか否かを最下位ビットの状態によって示す。さらに、クラス・ベクトル1814が、独自仕様PFCデータ・フレーム1800によってトラフィックのN個のクラスのうちのどのクラスに関してそのフロー制御が実施されるのかを、例えばマルチ・ホット符号化(multi-hotencoding)を利用して示す。優先度有効化ベクトル1810に続いて、独自仕様PFCデータ・フレーム1800は、フロー制御が実施され得るトラフィックのN個のクラスのそれぞれ1つにそれぞれが対応するN個のタイム・クォンタム・フィールド1820a〜1820nを含む。有効化フィールド1812がRPIに関するフロー制御を有効化するように設定され、クラス・ベクトル1814の対応するビットが特定のトラフィック・クラスに関するフロー制御を示すように設定されていると仮定すると、所与のタイム・クォンタム・フィールド1820は、関連するトラフィック・クラスのデータのRPIによる送信の最大帯域幅を(例えば、割合としてまたは絶対的な値として)指定する。さらに、独自仕様PFCデータ・フレーム1800によってフロー制御が構成されるRPIが、RPIフィールド1824によって指定される。
データ・フィールドに続いて、独自仕様PFCデータ・フレーム1800は、所定のサイズの独自仕様PFCデータ・フレーム1800を得るために任意のパディング1826を含む。最後に、独自仕様PFCデータ・フレーム1800は、独自仕様PFCデータ・フレーム1800の誤りを検出するために利用される通常のチェックサム・フィールド1830を含む。
理解されるであろうように、独自仕様PFCデータ・フレーム1800は、RPIに関するフロー制御以外の機能をトリガするために利用され得る。例えば、独自仕様PFCデータ・フレーム1800は、指定されたRPIに関して(例えば、タイム・クォンタム・フィールド1820の特別に予約された値を利用して)サービスをトリガするために利用される可能性もある。これらの追加的なサービスは、例えば、サーバの負荷分散ポリシーを作り直すこと、ファイアウォールの制限を更新すること、サービス拒否(DOS)攻撃の検査を施行することなどを含み得る。
図20を参照すると、一実施形態による、マスタ・スイッチ204から受信された独自仕様PFCデータ・フレーム1800をフォロワ・スイッチ202などのDFPスイッチング・ネットワーク200または300の下位レベル・エンティティが処理する例示的なプロセスの高レベルの論理的な流れ図が示されている。
プロセスは、ブロック1900で始まり、次いで、フォロワ・スイッチ202などのパス・スルー下位レベル・エンティティが独自仕様PFCデータ・フレーム1800の受信を監視することを示すブロック1902に進む。例えば、MAC制御命令コード・フィールド1808に基づくクラス分けによって検出される独自仕様PFCデータ・フレーム1800の受信に応じて、プロセスは、ブロック1902からブロック1904に進む。ブロック1904は、フォロワ・スイッチ202(例えば、スイッチ・コントローラ530b)が、例えば、非標準フィールド1810、1820、および1824を抽出することによって独自仕様PFCデータ・フレーム1800を規格に基づくPFCデータ・フレームに変換することを示す。次いで、フォロワ・スイッチ202は、例えば、RPIフィールド1824から抽出されたRPIをFIB532bを参照してポートIDに変換することによって規格に基づくPFCデータ・フレームのための出力データ・ポート210を決定し、結果として得られた規格に基づくPFCデータ・フレームを、決定された出力データ・ポート210を介して、輻輳を引き起こすデータ・トラフィックの発信元に転送する(ブロック1906)。その後、図20に示されたプロセスは、ブロック1910において終了する。PFCはRPIごとに個別に実施され得るので、説明されたプロセスは、同じ下位ティア・エンティティ(例えば、フォロワ・スイッチ202またはホスト302)の異なるRPIに対して異なるPFCを実施するために利用され得ることに留意されたい。さらに、下位ティア・エンティティのRPIはVOQ604によって表されるので、同じポート502が異なるvポート522、524のデータ・トラフィックに対して異なるPFCを実施するように、RPIのうちの1つまたは複数に関する個別化されたPFCがマスタ・スイッチ204において択一的および選択的に実施され得る。
ここで図21を参照すると、一実施形態による、マスタ・スイッチ204から受信された独自仕様PFCデータ・フレーム1800をホスト302などのDFPスイッチング・ネットワーク200または300の下位レベル・エンティティが処理する例示的なプロセスの高レベルの論理的な流れ図が示されている。
プロセスは、ブロック1920で始まり、次いで、ホスト302のネットワーク・インターフェース404(例えば、CNAまたはNIC)が、例えば、MAC制御命令コード・フィールド1808に基づいて入力データ・フレームをクラス分けすることによって独自仕様PFCデータ・フレーム1800の受信を監視することを示すブロック1922に進む。独自仕様PFCデータ・フレーム1800の受信を検出することに応じて、プロセスは、ブロック1922からブロック1930に進む。ブロック1930は、ネットワーク・インターフェース404が、独自仕様PFCデータ・フレーム1800を、例えば、割り込みまたはその他のメッセージによって、処理のためにVMM304に送信することを示す。独自仕様PFCデータ・フレーム1800の受信に応じて、さらに、ハイパーバイザ304が、独自仕様PFCデータ・フレーム1800を、独自仕様PFCデータ・フレーム1800のRPIフィールド1824で示されたRPIに関連するVM306に送信する(ブロック1932)。それに応じて、VM306が、独自仕様PFCデータ・フレーム1800によって示された特定のアプリケーションおよびトラフィックの優先度に対してPFC(または独自仕様PFCデータ・フレーム1800によって示されたその他のサービス)を適用する(ブロック1934)。したがって、PFCは、優先度ごと、アプリケーションごとに実施可能であり、例えば、データ・センターのサーバ・プラットフォームが、例えば、そのデータ・センターのサーバ・プラットフォームと通信するビデオ・ストリーミング・クライアントからのバック・プレッシャーに応じて、第2のVM306(例えば、FTPサーバ)とは異なるPFCを第1のVM306(例えば、ビデオ・ストリーミング・サーバ)に適用することを可能にする。ブロック1934の後、図21に示されたプロセスは、ブロック1940で終了する。
上述のように、少なくとも一部の実施形態において、スイッチング・ネットワークは、マスタ・スイッチを含む上位ティアと、複数の下位ティア・エンティティを含む下位ティアとを含む。マスタ・スイッチは、複数の下位ティア・エンティティのうちのそれぞれ1つとそれぞれが結合された複数のポートを含む。複数のポートのそれぞれは、そのポートに結合された下位ティア・エンティティの複数のリモート物理インターフェース(RPI)のうちのそれぞれ1つにそれぞれが対応する複数の仮想ポートを含む。複数のポートのそれぞれは、複数の下位ティア・エンティティの中の特定の下位ティア・エンティティからのデータ・トラフィックの受信に応じて、データ・トラフィックの発信元であった特定の下位ティア・エンティティのRPIに対応する、複数の仮想ポートの中の仮想ポートのキューにそのデータ・トラフィックを追加する受信インターフェースも含む。マスタ・スイッチは、仮想ポートからのデータ・トラフィックを、そのデータ・トラフィックがその出力ポートから転送される複数のポートの中の出力ポートにスイッチングするスイッチ・コントローラをさらに含む。
上位ティアと下位ティアとを含むスイッチング・ネットワークの一部の実施形態において、それぞれの下位ティア・エンティティにそれぞれが結合された複数のポートを有する上位ティアのマスタ・スイッチは、ポートのそれぞれに、そのポートに結合された下位ティア・エンティティの複数のリモート物理インターフェース(RPI)のそれぞれ1つにそれぞれが対応する複数の仮想ポートを実装する。マスタ・スイッチとRPIの間で伝達されるデータ・トラフィックは、そのデータ・トラフィックが伝達される下位ティア・エンティティのRPIに対応する仮想ポート内のキューに追加される。マスタ・スイッチは、対応するRPIが存在する下位ティア・エンティティに、その特定のRPIによって伝達されるデータ・トラフィックの少なくとも2つの異なるクラスに関する優先度を指定する優先度ベース・フロー制御(PFC)データ・フレームを送信することによって、所与の仮想ポートのデータ・トラフィックに対するPFCを施行する。
上位ティアと下位ティアとを含むスイッチング・ネットワークの一部の実施形態において、それぞれの下位ティア・エンティティにそれぞれが結合された複数のポートを有する上位ティアのマスタ・スイッチは、ポートのそれぞれに、そのポートに結合された下位ティア・エンティティの複数のリモート物理インターフェース(RPI)のそれぞれ1つにそれぞれが対応する複数の仮想ポートを実装する。マスタ・スイッチとRPIの間で伝達されるデータ・トラフィックは、そのデータ・トラフィックが伝達されるRPIに対応する仮想ポート内のキューに追加される。マスタ・スイッチは、少なくともデータ・トラフィックがキューに追加される仮想ポートに基づく制御ポリシーにしたがってデータ・トラフィックにデータ処理を適用し、したがって、マスタ・スイッチは、マスタ・スイッチの同じポートの2つの仮想ポートのキューに追加されたデータ・トラフィックに異なるポリシーを適用する。
本発明が、1つまたは複数の好ましい実施形態を参照して説明されたように具体的に示されたが、本発明の精神および範囲を逸脱することなくそれらの好ましい実施形態において形態および詳細のさまざまな変更がなされ得ることが、当業者に理解されるであろう。例えば、態様が、本明細書に記載の機能に指示を与えるプログラム・コード(例えば、ソフトウェア、ファームウェア、またはこれらの組み合わせ)を実行する1つまたは複数の機械(例えば、ホストまたはネットワーク・スイッチあるいはその両方)に関連して説明されたが、実施形態は、代替的に、説明された機能のうちの1つまたは複数を機械に実行させる、機械によって処理され得るプログラム・コードを記憶する有形の機械可読ストレージ媒体またはストレージ・デバイス(例えば、光学式ストレージ媒体、メモリ・ストレージ媒体、ディスク・ストレージ媒体など)を含むプログラム製品として実装され得ることを理解されたい。
したがって、本発明の目的の一つは、スイッチング・ネットワークにおいてフロー制御を実施するための改善された方法、マスタ・スイッチ、スイッチング・ネットワーク、プログラム、装置、システムを提供することである。

Claims (29)

  1. 上位ティア、および複数の下位ティア・エンティティを含む下位ティアを含むスイッチング・ネットワークにおいてフロー制御を実施するための方法であって、
    前記複数の下位ティア・エンティティのそれぞれ1つとそれぞれが結合可能な複数のポートを有する前記上位ティアのマスタ・スイッチにおいて、前記複数のポートのそれぞれに、前記ポートに結合可能な前記下位ティア・エンティティの複数のリモート物理インターフェース(RPI)のそれぞれ1つにそれぞれが対応する複数の仮想ポートを実装するステップと、
    前記マスタ・スイッチと前記複数の下位ティア・エンティティのRPIとの間で伝達されるデータ・トラフィックを、前記データ・トラフィックが伝達される下位ティア・エンティティの前記RPIに対応する、前記複数の仮想ポートの中の仮想ポート内のキューに追加するステップと、
    前記マスタ・スイッチが、所与の仮想ポートに対応する特定のRPIが存在する下位ティア・エンティティに、前記特定のRPIによって伝達されるデータ・トラフィックの少なくとも2つの異なるクラスに関する優先度を指定する優先度ベース・フロー制御(PFC)データ・フレームを送信することによって、前記所与の仮想ポートのデータ・トラフィックに対するPFCを施行するステップとを含む、方法。
  2. 前記マスタ・スイッチと前記複数の下位ティア・エンティティとの間で伝達される前記データ・トラフィックが、前記トラフィックが伝達される前記下位ティア・エンティティのRPIを特定するRPI識別子を含み、
    キューに追加する前記ステップが、前記データ・トラフィックを、前記RPI識別子に基づいて前記マスタ・スイッチの仮想ポートのキューに追加するステップを含む請求項1に記載の方法。
  3. 前記下位ティア・エンティティが、フロー・スルー・モードに構成されたフォロワ・スイッチを含み、
    前記特定のRPIが、データ・ポートを含み、
    前記方法が、前記フォロワ・スイッチが前記PFCデータ・フレームを受信し、前記PFCデータ・フレームから前記特定のRPIを特定するRPI識別子を削除して規格通りのPFCデータ・フレームを取得し、前記規格通りのPFCデータ・フレームを前記特定のRPIに対応する前記データ・ポートを介して送信するステップをさらに含む請求項1または請求項2に記載の方法。
  4. 前記下位ティア・エンティティが、ネットワーク・インターフェースおよび仮想マシン・モニタを有するホスト・プラットフォームを含み、
    前記特定のRPIが、前記ホスト・プラットフォームで実行される仮想マシンを含み、
    前記方法が、前記ネットワーク・インターフェースが前記PFCデータ・フレームを前記仮想マシン・モニタに伝達するステップをさらに含む請求項1ないし3のいずれかに記載の方法。
  5. 前記PFCデータ・フレームを受信することに応じて、前記ホスト・プラットフォームの前記仮想マシン・モニタが、前記PFCデータ・フレームで指定された前記特定のRPIに基づいて前記仮想マシンに前記PFCデータ・フレームを送信するステップをさらに含む請求項4に記載の方法。
  6. 施行する前記ステップが、前記マスタ・スイッチが優先度ごと、アプリケーションごとにPFCを施行するステップを含む請求項1ないし5のいずれかに記載の方法。
  7. 前記特定のRPIが、物理ポート、リンク・アグリゲーション・グループ(LAG)インターフェース、および仮想ポートを含む集合のうちの1つを含む請求項1ないし6のいずれかに記載の方法。
  8. 前記仮想ポートが、仮想ネットワーク・インターフェース・カード(NIC)、シングル・ルートI/O仮想化(SR−IOV)NICのパーティション、およびファイバ・チャネル・オーバ・イーサネット(FCoE)ポートを含む集合のうちの1つを含む請求項7に記載の方法。
  9. 前記PFCフレームが、
    前記特定のRPIを特定するRPIフィールドと、
    データ・トラフィックの前記少なくとも2つの異なるクラスに関する相対的な優先度を指定する複数のフィールドとを含む請求項1ないし8のいずれかに記載の方法。
  10. 施行する前記ステップが、前記マスタ・スイッチが、前記下位ティア・エンティティの2つの異なるRPIに対して異なる優先度ベース・フロー制御を施行するステップを含む請求項1ないし9のいずれかに記載の方法。
  11. マスタ・スイッチを含む上位ティアおよび複数の下位ティア・エンティティを含む下位ティアを含むスイッチング・ネットワークのためのマスタ・スイッチであって、
    前記複数の下位ティア・エンティティのうちのそれぞれ1つにそれぞれが結合可能な複数のポートであって、複数のポートのそれぞれが、ポートに結合可能な前記下位ティア・エンティティの複数のリモート物理インターフェース(RPI)のうちのそれぞれ1つにそれぞれが対応する複数の仮想ポートを含み、マスタ・スイッチと前記複数の下位ティア・エンティティのRPIとの間で伝達されるデータ・トラフィックが、前記データ・トラフィックが伝達される下位ティア・エンティティの前記RPIに対応する、前記複数の仮想ポートの中の仮想ポートのキューに追加される、複数のポートと、
    前記複数のポートの間でデータ・トラフィックをスイッチングするスイッチ・コントローラとを含み、
    所与の仮想ポートに対応する特定のRPIが存在する下位ティア・エンティティに、前記特定のRPIによって伝達されるデータ・トラフィックの少なくとも2つの異なるクラスに関する優先度を指定する優先度ベース・フロー制御(PFC)データ・フレームを送信することによって、前記所与の仮想ポートのデータ・トラフィックに対するPFCを施行する、マスタ・スイッチ。
  12. 前記マスタ・スイッチと前記複数の下位ティア・エンティティとの間で伝達される前記データ・トラフィックが、前記トラフィックが伝達される前記下位ティア・エンティティのRPIを特定するRPI識別子を含み、
    前記マスタ・スイッチが、データ・トラフィックを、前記RPI識別子に基づいて前記マスタ・スイッチの仮想ポートのキューに追加する請求項11に記載のマスタ・スイッチ。
  13. 優先度ごと、アプリケーションごとにPFCを施行する請求項11に記載のマスタ・スイッチ。
  14. 前記PFCフレームが、
    前記特定のRPIを特定するRPIフィールドと、
    データ・トラフィックの前記少なくとも2つの異なるクラスに関する相対的な優先度を指定する複数のフィールドとを含む請求項11または請求項12に記載のマスタ・スイッチ。
  15. 前記下位ティア・エンティティの2つの異なるRPIに対して異なる優先度ベース・フロー制御を施行する請求項11ないし14のいずれかに記載のマスタ・スイッチ。
  16. 請求項11ないし15のいずれかに記載のマスタ・スイッチと、
    複数の下位ティア・エンティティとを含むスイッチング・ネットワーク。
  17. 前記下位ティア・エンティティが、フロー・スルー・モードに構成されたフォロワ・スイッチを含み、
    前記特定のRPIが、前記フォロワ・スイッチのデータ・ポートを含み、
    前記フォロワ・スイッチが、前記PFCデータ・フレームを受信し、前記PFCデータ・フレームから前記特定のRPIを特定するRPI識別子を削除して規格通りのPFCデータ・フレームを取得し、前記規格通りのPFCデータ・フレームを前記特定のRPIに対応する前記データ・ポートを介して送信する請求項16に記載のスイッチング・ネットワーク。
  18. 前記下位ティア・エンティティが、ホスト・プラットフォームを含み、
    前記特定のRPIが、前記ホスト・プラットフォームで実行される仮想マシンを含む請求項16または請求項17に記載のスイッチング・ネットワーク。
  19. 前記ホスト・プラットフォームが、仮想マシン・モニタを実行し、
    前記ホスト・プラットフォームが、前記PFCデータ・フレームを受信し、前記PFCデータ・フレームを前記仮想マシン・モニタに伝達するネットワーク・インターフェースを含み、
    前記仮想マシン・モニタが、前記PFCデータ・フレームで指定された前記特定のRPIに基づいて前記仮想マシンに前記PFCデータ・フレームを伝達する請求項18に記載のスイッチング・ネットワーク。
  20. 前記特定のRPIが、物理ポート、リンク・アグリゲーション・グループ(LAG)インターフェース、および仮想ポートを含む集合のうちの1つを含む請求項16ないし19のいずれかに記載のスイッチング・ネットワーク。
  21. 前記仮想ポートが、仮想ネットワーク・インターフェース・カード(NIC)、シングル・ルートI/O仮想化(SR−IOV)NICのパーティション、およびファイバ・チャネル・オーバ・イーサネット(FCoE)ポートを含む集合のうちの1つを含む請求項20に記載のスイッチング・ネットワーク。
  22. 機械可読ストレージ・デバイスと、
    前記機械可読ストレージ・デバイス内に記憶されたプログラム・コードであって、機械によって処理されるときに、前記機械に
    マスタ・スイッチを有する上位ティアおよび複数の下位ティア・エンティティを有する下位ティアを含むスイッチング・ネットワークにおいて、前記複数の下位ティア・エンティティのそれぞれ1つとそれぞれが結合可能な複数のポートを有する前記マスタ・スイッチが、前記複数のポートのそれぞれに、前記ポートに結合可能な前記下位ティア・エンティティの複数のリモート物理インターフェース(RPI)のそれぞれ1つにそれぞれが対応する複数の仮想ポートを実装すること、
    前記マスタ・スイッチが、前記マスタ・スイッチと前記複数の下位ティア・エンティティのRPIとの間で伝達されるデータ・トラフィックを、前記データ・トラフィックが伝達される下位ティア・エンティティの前記RPIに対応する、前記複数の仮想ポートの中の仮想ポート内のキューに追加すること、ならびに
    前記マスタ・スイッチが、所与の仮想ポートに対応する特定のRPIが存在する下位ティア・エンティティに、前記特定のRPIによって伝達されるデータ・トラフィックの少なくとも2つの異なるクラスに関する優先度を指定する優先度ベース・フロー制御(PFC)データ・フレームを送信することによって、前記所与の仮想ポートのデータ・トラフィックに対するPFCを施行することを実行させる、プログラム・コードとを含むプログラム製品。
  23. 前記マスタ・スイッチと前記複数の下位ティア・エンティティとの間で伝達される前記データ・トラフィックが、前記トラフィックが伝達される前記下位ティア・エンティティのRPIを特定するRPI識別子を含み、
    前記キューに追加することが、前記データ・トラフィックを、前記RPI識別子に基づいて前記マスタ・スイッチの仮想ポートのキューに追加することを含む請求項22に記載のプログラム製品。
  24. 前記下位ティア・エンティティが、フロー・スルー・モードに構成されたフォロワ・スイッチを含み、
    前記特定のRPIが、前記フォロワ・スイッチのデータ・ポートを含み、
    前記プログラム・コードが、さらに、前記フォロワ・スイッチに、前記PFCデータ・フレームを受信させ、前記PFCデータ・フレームから前記特定のRPIを特定するRPI識別子を削除して規格通りのPFCデータ・フレームを取得させ、前記規格通りのPFCデータ・フレームを前記特定のRPIに対応する前記データ・ポートを介して送信させる請求項22または請求項23に記載のプログラム製品。
  25. 前記下位ティア・エンティティが、ネットワーク・インターフェースおよび仮想マシン・モニタを有するホスト・プラットフォームを含み、
    前記特定のRPIが、仮想マシンを含み、
    前記プログラム・コードが、前記ホスト・プラットフォームに、前記PFCデータ・フレームを前記特定のRPIによって指定された前記仮想マシンに前記仮想マシン・モニタを介して伝達させる請求項22ないし24のいずれかに記載のプログラム製品。
  26. 前記プログラム・コードが、前記マスタ・スイッチに、優先度ごと、アプリケーションごとにPFCを施行させる請求項22ないし25のいずれかに記載のプログラム製品。
  27. 前記PFCフレームが、
    前記特定のRPIを特定するRPIフィールドと、
    データ・トラフィックの前記少なくとも2つの異なるクラスに関する相対的な優先度を指定する複数のフィールドとを含む請求項22ないし26のいずれかに記載のプログラム製品。
  28. 前記施行することが、前記マスタ・スイッチが、前記下位ティア・エンティティの2つの異なるRPIに対して異なる優先度ベース・フロー制御を施行することを含む請求項22ないし27のいずれかに記載のプログラム製品。
  29. 上位ティア、および複数の下位ティア・エンティティを含む下位ティアを含むスイッチング・ネットワークにおいてフロー制御を実施するための装置であって、
    前記複数の下位ティア・エンティティのそれぞれ1つとそれぞれが結合可能な複数のポートを有する前記上位ティアのマスタ・スイッチにおいて、前記複数のポートのそれぞれに、前記ポートに結合可能な前記下位ティア・エンティティの複数のリモート物理インターフェース(RPI)のそれぞれ1つにそれぞれが対応する複数の仮想ポートを実装するための手段と、
    前記マスタ・スイッチと前記複数の下位ティア・エンティティのRPIとの間で伝達されるデータ・トラフィックを、前記データ・トラフィックが伝達される下位ティア・エンティティの前記RPIに対応する、前記複数の仮想ポートの中の仮想ポート内のキューに追加するための手段と、
    前記マスタ・スイッチにおいて、所与の仮想ポートのデータ・トラフィックに対する優先度ベース・フロー制御(PFC)を施行するための手段であって、前記所与の仮想ポートに対応する特定のRPIが存在する下位ティア・エンティティに、前記特定のRPIによって伝達されるデータ・トラフィックの少なくとも2つの異なるクラスに関する優先度を指定するPFCデータ・フレームを送信するための手段をさらに含む、施行するための手段とを含む、装置。
JP2013538321A 2011-05-14 2012-04-12 スイッチング・ネットワークにおいてフロー制御を実施するための方法、マスタ・スイッチ、スイッチング・ネットワーク、プログラム、装置、システム Expired - Fee Related JP5497244B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/107,893 2011-05-14
US13/107,893 US8588224B2 (en) 2011-05-14 2011-05-14 Priority based flow control in a distributed fabric protocol (DFP) switching network architecture
PCT/IB2012/051803 WO2012156832A1 (en) 2011-05-14 2012-04-12 Priority based flow control in a distributed fabric protocol (dfp) switching network architecture

Publications (2)

Publication Number Publication Date
JP2014502089A true JP2014502089A (ja) 2014-01-23
JP5497244B2 JP5497244B2 (ja) 2014-05-21

Family

ID=47141829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013538321A Expired - Fee Related JP5497244B2 (ja) 2011-05-14 2012-04-12 スイッチング・ネットワークにおいてフロー制御を実施するための方法、マスタ・スイッチ、スイッチング・ネットワーク、プログラム、装置、システム

Country Status (8)

Country Link
US (2) US8588224B2 (ja)
JP (1) JP5497244B2 (ja)
KR (1) KR101507675B1 (ja)
CN (1) CN103534989B (ja)
CA (1) CA2833681C (ja)
DE (1) DE112012001320B4 (ja)
GB (1) GB2504443A (ja)
WO (1) WO2012156832A1 (ja)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8670450B2 (en) 2011-05-13 2014-03-11 International Business Machines Corporation Efficient software-based private VLAN solution for distributed virtual switches
US9276953B2 (en) 2011-05-13 2016-03-01 International Business Machines Corporation Method and apparatus to detect and block unauthorized MAC address by virtual machine aware network switches
US8588224B2 (en) * 2011-05-14 2013-11-19 International Business Machines Corporation Priority based flow control in a distributed fabric protocol (DFP) switching network architecture
US20120291034A1 (en) 2011-05-14 2012-11-15 International Business Machines Corporation Techniques for executing threads in a computing environment
US8837499B2 (en) 2011-05-14 2014-09-16 International Business Machines Corporation Distributed fabric protocol (DFP) switching network architecture
US20120287785A1 (en) 2011-05-14 2012-11-15 International Business Machines Corporation Data traffic handling in a distributed fabric protocol (dfp) switching network architecture
US9497073B2 (en) 2011-06-17 2016-11-15 International Business Machines Corporation Distributed link aggregation group (LAG) for a layer 2 fabric
US20130064066A1 (en) 2011-09-12 2013-03-14 International Business Machines Corporation Updating a switch software image in a distributed fabric protocol (dfp) switching network
US8767529B2 (en) 2011-09-12 2014-07-01 International Business Machines Corporation High availability distributed fabric protocol (DFP) switching network architecture
US20130077530A1 (en) * 2011-09-28 2013-03-28 Cisco Technology, Inc. Scaling IPv6 on Multiple Devices Virtual Switching System with Port or Device Level Aggregation
US9065745B2 (en) 2011-10-06 2015-06-23 International Business Machines Corporation Network traffic distribution
US8750129B2 (en) 2011-10-06 2014-06-10 International Business Machines Corporation Credit-based network congestion management
US8713169B2 (en) 2011-10-11 2014-04-29 Cisco Technology, Inc. Distributed IPv6 neighbor discovery for large datacenter switching systems
US9059868B2 (en) * 2012-06-28 2015-06-16 Dell Products, Lp System and method for associating VLANs with virtual switch ports
US9727386B2 (en) * 2012-10-12 2017-08-08 Futurewei Technologies, Inc. Method and apparatus for network resource virtual partitioning
US9166869B2 (en) 2013-01-14 2015-10-20 International Business Machines Corporation Management of distributed network switching cluster
US9407500B2 (en) * 2013-01-25 2016-08-02 Dell Products L.P. System and method for determining the configuration of switches in virtual link trunking environments
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
US9083611B2 (en) * 2013-02-21 2015-07-14 Oracle International Corporation Method and system for virtual network interface cards (VNICs) over aggregation spanning multiple switches
US9647849B2 (en) * 2013-03-05 2017-05-09 Cisco Technology, Inc. “Slow-start” problem in data center networks and a potential solution
US9277452B1 (en) * 2013-03-07 2016-03-01 Dragonwave, Inc. Adaptive modulation and priority-based flow control in wireless communications
US9258253B2 (en) * 2013-05-14 2016-02-09 Dell Products L.P. System and method for flexible switching fabric
CN104253729B (zh) * 2013-06-28 2017-12-29 施耐德电器工业公司 主从设备间通过寄存器接口传递数据的方法
US9325617B2 (en) 2013-12-09 2016-04-26 International Business Machines Corporation Overlay capabilities exchange using DCBX
CN104734986B (zh) * 2013-12-19 2018-12-25 华为技术有限公司 一种报文转发方法和装置
CN103746927B (zh) * 2013-12-27 2017-02-15 杭州华为数字技术有限公司 基于优先级的流控pfc方法及发送设备、接收设备
CN104852869B (zh) * 2014-02-14 2018-07-24 新华三技术有限公司 一种端口聚合方法及装置
US9306865B2 (en) * 2014-03-12 2016-04-05 Oracle International Corporation Virtual port mappings for non-blocking behavior among physical ports
CN104410577B (zh) * 2014-11-05 2018-04-06 新华三技术有限公司 一种广播报文的传输方法和设备
US10135670B2 (en) * 2014-12-22 2018-11-20 Hewlett Packard Enterprise Development Lp Response to an inoperative network device managed by a controller
CN106330782B (zh) * 2015-06-30 2020-06-26 中兴通讯股份有限公司 端口容量分配方法及装置、交换机业务板卡
US10243914B2 (en) * 2015-07-15 2019-03-26 Nicira, Inc. Managing link aggregation traffic in edge nodes
US10462020B2 (en) * 2017-02-16 2019-10-29 Cisco Technology, Inc. Network device user interface
CN107864099B (zh) * 2017-10-23 2020-11-06 中国科学院空间应用工程与技术中心 一种异构fc网络的流量控制方法及系统
US11005778B1 (en) * 2018-08-23 2021-05-11 Marvell Israel (M.I.S.L) Ltd. Priority flow control in a distributed network switch architecture
CN109347908B (zh) * 2018-09-06 2021-10-08 东莞中子科学中心 分布式异构计算的数据访问方法
US10630606B1 (en) * 2019-03-18 2020-04-21 Brightways Corporation System, method and architecture for data center network switching
US11381512B1 (en) * 2019-12-10 2022-07-05 Cisco Technology, Inc. Priority-based flow control messaging for port extender
CN111343043B (zh) * 2020-02-06 2022-07-26 中国科学院国家空间科学中心 一种深空通信网络仿真验证平台构建方法
JP7437197B2 (ja) * 2020-03-16 2024-02-22 住友電気工業株式会社 スイッチ装置、車載通信システムおよび通信方法
US11894948B2 (en) 2020-04-02 2024-02-06 PrimeWan Limited Method of forming a virtual network
US11362865B2 (en) * 2020-04-02 2022-06-14 PrimeWan Limited Virtual network
US11245645B2 (en) 2020-04-02 2022-02-08 PrimeWan Limited Virtual network device
US11223569B2 (en) * 2020-04-02 2022-01-11 PrimeWan Limited Device, method, and system that virtualize a network
CN113297116A (zh) * 2020-04-08 2021-08-24 阿里巴巴集团控股有限公司 信息配置方法、端口访问方法、设备及存储介质
CN113300984B (zh) * 2020-04-08 2022-09-13 阿里巴巴集团控股有限公司 通信方法、设备、系统及存储介质
KR102314880B1 (ko) * 2021-05-10 2021-10-19 농업회사법인 유한회사 더자람 슬레이브 채널의 자유로운 확장이 가능한 스마트팜 제어 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004320693A (ja) * 2003-02-28 2004-11-11 Fujitsu Ltd パケット制御システム、パケット制御装置、パケット中継装置およびパケット制御プログラム
JP2005151025A (ja) * 2003-11-13 2005-06-09 Anritsu Corp 拡張中継システム及び中継装置
JP2007208711A (ja) * 2006-02-02 2007-08-16 Hitachi Ltd 管理装置及びネットワークシステム
JP2013545359A (ja) * 2011-05-14 2013-12-19 インターナショナル・ビジネス・マシーンズ・コーポレーション スイッチング・ネットワークにおけるスイッチングのための方法、マスタ・スイッチ、スイッチング・ネットワーク、プログラム、装置、システム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394402A (en) 1993-06-17 1995-02-28 Ascom Timeplex Trading Ag Hub for segmented virtual local area network with shared media access
US5617421A (en) 1994-06-17 1997-04-01 Cisco Systems, Inc. Extended domain computer network using standard links
US6035105A (en) 1996-01-02 2000-03-07 Cisco Technology, Inc. Multiple VLAN architecture system
US5742604A (en) 1996-03-28 1998-04-21 Cisco Systems, Inc. Interswitch link mechanism for connecting high-performance network switches
US6567403B1 (en) 1998-04-30 2003-05-20 Hewlett-Packard Development Company, L.P. Virtual-chassis switch network topology
US6901452B1 (en) * 2000-03-02 2005-05-31 Alcatel Selectable prioritization for data communication switch
KR100472416B1 (ko) 2002-11-01 2005-03-11 삼성전자주식회사 패킷 플로우 제어 장치 및 방법
WO2005038599A2 (en) 2003-10-14 2005-04-28 Raptor Networks Technology, Inc. Switching system with distributed switching fabric
CN101087238B (zh) 2003-10-21 2010-08-04 华为技术有限公司 无源光网络的动态带宽分配装置及方法
US7593320B1 (en) 2004-04-30 2009-09-22 Marvell International, Ltd. Failover scheme for stackable network switches
US7639674B2 (en) * 2004-10-25 2009-12-29 Alcatel Lucent Internal load balancing in a data switch using distributed network processing
US7697536B2 (en) * 2005-04-01 2010-04-13 International Business Machines Corporation Network communications for operating system partitions
CN100486216C (zh) 2005-07-15 2009-05-06 华为技术有限公司 一种提高虚拟交换系统中传输可靠性的方法
CN100571249C (zh) 2006-02-27 2009-12-16 中兴通讯股份有限公司 一种实时确定传输的以太网通讯方法
JP4888186B2 (ja) 2007-03-28 2012-02-29 富士通株式会社 通信システム、中継器、中継方法
US8625592B2 (en) 2008-02-26 2014-01-07 Cisco Technology, Inc. Blade switch with scalable interfaces
US8385202B2 (en) * 2008-08-27 2013-02-26 Cisco Technology, Inc. Virtual switch quality of service for virtual machines
US9426095B2 (en) * 2008-08-28 2016-08-23 International Business Machines Corporation Apparatus and method of switching packets between virtual ports
US8238340B2 (en) * 2009-03-06 2012-08-07 Futurewei Technologies, Inc. Transport multiplexer—mechanisms to force ethernet traffic from one domain to be switched in a different (external) domain
US8174984B2 (en) * 2009-05-29 2012-05-08 Oracle America, Inc. Managing traffic on virtualized lanes between a network switch and a virtual machine
US8638799B2 (en) * 2009-07-10 2014-01-28 Hewlett-Packard Development Company, L.P. Establishing network quality of service for a virtual machine
US9031081B2 (en) 2009-08-06 2015-05-12 Broadcom Corporation Method and system for switching in a virtualized platform
US8665747B2 (en) * 2009-12-03 2014-03-04 Cisco Technology, Inc. Preventing loops on network topologies built with virtual switches and VMS
US20120287785A1 (en) * 2011-05-14 2012-11-15 International Business Machines Corporation Data traffic handling in a distributed fabric protocol (dfp) switching network architecture
US8588224B2 (en) * 2011-05-14 2013-11-19 International Business Machines Corporation Priority based flow control in a distributed fabric protocol (DFP) switching network architecture
US8767529B2 (en) * 2011-09-12 2014-07-01 International Business Machines Corporation High availability distributed fabric protocol (DFP) switching network architecture

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004320693A (ja) * 2003-02-28 2004-11-11 Fujitsu Ltd パケット制御システム、パケット制御装置、パケット中継装置およびパケット制御プログラム
JP2005151025A (ja) * 2003-11-13 2005-06-09 Anritsu Corp 拡張中継システム及び中継装置
JP2007208711A (ja) * 2006-02-02 2007-08-16 Hitachi Ltd 管理装置及びネットワークシステム
JP2013545359A (ja) * 2011-05-14 2013-12-19 インターナショナル・ビジネス・マシーンズ・コーポレーション スイッチング・ネットワークにおけるスイッチングのための方法、マスタ・スイッチ、スイッチング・ネットワーク、プログラム、装置、システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
伊藤 雅寿: "イチから学ぶ ストレージネットワーク 後編", 日経NETWORK, vol. 第131号, JPN6013048354, 28 February 2011 (2011-02-28), pages 080 - 085, ISSN: 0002745935 *

Also Published As

Publication number Publication date
JP5497244B2 (ja) 2014-05-21
US20120287786A1 (en) 2012-11-15
CA2833681C (en) 2019-05-07
CN103534989B (zh) 2016-08-17
US20120287787A1 (en) 2012-11-15
CA2833681A1 (en) 2012-11-22
US8588224B2 (en) 2013-11-19
CN103534989A (zh) 2014-01-22
DE112012001320T8 (de) 2014-01-30
DE112012001320B4 (de) 2020-04-23
GB2504443A (en) 2014-01-29
GB201320499D0 (en) 2014-01-01
DE112012001320T5 (de) 2014-01-02
KR20140002013A (ko) 2014-01-07
US8594082B2 (en) 2013-11-26
KR101507675B1 (ko) 2015-03-31
WO2012156832A1 (en) 2012-11-22

Similar Documents

Publication Publication Date Title
JP5497244B2 (ja) スイッチング・ネットワークにおいてフロー制御を実施するための方法、マスタ・スイッチ、スイッチング・ネットワーク、プログラム、装置、システム
US8798080B2 (en) Distributed fabric protocol (DFP) switching network architecture
US8767722B2 (en) Data traffic handling in a distributed fabric protocol (DFP) switching network architecture
US10659347B2 (en) Integrated heterogeneous software-defined network
US8767529B2 (en) High availability distributed fabric protocol (DFP) switching network architecture
US9225549B2 (en) Multi-chassis link aggregation in a distributed virtual bridge
US9178821B2 (en) Methods, systems and apparatus for the interconnection of fibre channel over Ethernet devices using a fibre channel over Ethernet interconnection apparatus controller
US20140092909A1 (en) Methods, systems and apparatus for the servicing of fibre channel fabric login frames
US20120177045A1 (en) Methods, systems and apparatus for the interconnection of fibre channel over ethernet devices using a trill network
WO2012094216A1 (en) Methods, systems and apparatus for the interconnection of fibre channel over ethernet devices
US9699117B2 (en) Integrated fibre channel support in an ethernet fabric switch

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20131115

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20131121

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140305

R150 Certificate of patent or registration of utility model

Ref document number: 5497244

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees