JP6007595B2 - 伝送方法、装置及びプログラム - Google Patents

伝送方法、装置及びプログラム Download PDF

Info

Publication number
JP6007595B2
JP6007595B2 JP2012120863A JP2012120863A JP6007595B2 JP 6007595 B2 JP6007595 B2 JP 6007595B2 JP 2012120863 A JP2012120863 A JP 2012120863A JP 2012120863 A JP2012120863 A JP 2012120863A JP 6007595 B2 JP6007595 B2 JP 6007595B2
Authority
JP
Japan
Prior art keywords
frame
port
cnm
congestion
received
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
JP2012120863A
Other languages
English (en)
Other versions
JP2013247560A (ja
Inventor
充正 松生
充正 松生
宣博 力竹
宣博 力竹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012120863A priority Critical patent/JP6007595B2/ja
Priority to US13/850,392 priority patent/US9319334B2/en
Publication of JP2013247560A publication Critical patent/JP2013247560A/ja
Application granted granted Critical
Publication of JP6007595B2 publication Critical patent/JP6007595B2/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • 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/33Flow control; Congestion control using forward notification
    • 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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets

Description

本発明は、伝送方法、装置及びプログラムに関する。
インターネットや広域イーサネット(登録商標)・サービスの普及に伴って、データセンタの活用が広がっている。各種のコンピュータ及び通信装置等を設置し運用するデータセンタが知られている。
10ギガビット・イーサネットに関する規格の1つに、IEEE802.1Qau Congestion Notification(CN)規格が知られている(例えば、非特許文献1参照)。この規格では、輻輳の生じているL2スイッチが輻輳の原因と考えられるサーバに対して輻輳通知メッセージ(Congestion Notification Message: CNM)を送信し、CNMを受信したサーバが送信するトラフィック量を抑制する。これら以外にも様々な輻輳を解消する方法が提案されている(例えば、特許文献1、特許文献2及び特許文献3参照)。
IEEE802.1Qau
特開2004−104427号公報 特開2007−282037号公報 特開2003−092593号公報
本発明は、輻輳の原因となっている送信元が送信するフレームを受信するポートを特定する伝送方法、装置及びプログラムを提供する。
本発明の一実施形態によると、複数のポートを介して受信するフレームに基づいて輻輳を検出し、前記検出した輻輳の原因となるフレームを受信するポートを、前記複数のポートそれぞれのトラフィック量に基づいて特定する、ことを特徴とする伝送方法が提供される。
本発明の一実施形態によると、フレームを送受信する1又は複数のポートと、前記ポートの各々の受信レートを格納する統計情報収集部と、前記複数のポートを介して受信したフレームに基づいて、輻輳を検出する検出部と、前記検出した輻輳の原因となるフレームを受信するポートを、前記格納された受信レートに基づいて、特定する制御部と、を有する装置が提供される。
本発明の一実施形態によると、装置に実行させるプログラムであって、前記装置は制御部を有し、前記制御部により前記プログラムが実行されると、ポートを介して受信するフレームに基づいて、輻輳を検出させ、前記検出された輻輳の原因となるフレームを受信するポートを、各ポートの受信レートに基づいて決定させる、ことを特徴とするプログラムが提供される。
開示の伝送方法、装置及びプログラムによれば、フレームを解析せずに、輻輳の原因となっている送信元が送信するフレームを受信するポートを特定することができる。
データセンタの概略構成図の例を示す。 Ethernet(登録商標)フレームのフォーマットを示す。 輻輳通知メッセージ(CNM)のフォーマットを示す。 従来の輻輳通知方法の概略を示す。 従来のスイッチがCNMを生成するときの動作を示す図である。 従来のスイッチがCNMを中継するときの動作を示す図である。 本発明の一実施形態による輻輳を回避する方法の概略を示す。 本発明の一実施形態によるスイッチのハードウェア構成図である。 本発明の一実施形態によるCNMを生成するスイッチの機能ブロック図である。 本発明の一実施形態によるCNMを中継するスイッチの機能ブロック図である。 FCoE Initialization Protocol(FIP)フレームのフォーマットを示す。 FIPシーケンスを示す。 本発明の一実施形態によるロスレストラフィックの通信に先立ち輻輳を回避するスイッチの機能ブロック図である。 本発明の一実施形態によるVLAN毎に統計情報を記憶するMACテーブルの例を示す。 本発明の一実施形態によるスイッチがCNMを生成する方法を示すフローチャートである。 本発明の一実施形態によるスイッチがCNMを中継する方法を示すフローチャートである。 本発明の一実施形態によるスイッチがロスレストラフィックの通信に先立ち輻輳を回避する方法を示すフローチャートである。 本発明の一実施形態によるスイッチがロスレストラフィックの通信に先立ち輻輳を回避する別の方法を示すフローチャートである。
以下、図面に基づいて本発明の実施形態について説明する。
図1にデータセンタ100の概略構成図を示す。
図1に示されるように、データセンタ100には複数のラック106が設置され、各ラック106は複数のサーバ102及び複数のサーバ102が接続されるToR(Top of Rack)スイッチ104を搭載している。ToR(Top of Rack)スイッチ104は、多くの場合、L2スイッチである。各サーバ102は、各ラック106のToRスイッチ104、集約スイッチ108、セキュリティ機能を備えたルータ110を介して外部ネットワーク112に接続される。
ここで、上記のデータセンタのフレームロスを回避するために使用されるCNMについて説明する。
まず、図2はEthernetフレームフォーマットを示す。図2中、2バイト(B)のEtherType(ET)フィールドはEthernetフレームのフレーム種別を表す。例えば、ETが0x22E7の場合にはCNMフレーム、0x8100の場合にはIEEE802.1Q規格に準拠したVLANタグ付きフレーム、0x8906の場合にはFCoE(Fiber Channel over Ethernet)フレーム、0x8914の場合にはFIP(FCoE Initialization Protocol)フレームであることを示す。
図3は、図2のETに0x22E7が設定された場合、つまりCNMのフレームフォーマットを示す。簡単のため、図3は図2のTypeフィールド以降を示す。このようなCNMを受信したサーバ102は、CNMに含まれるQuantized Feedbackフィールドに格納された値に基づき、送信レートを抑制する。抑制率は最大で50%である。
次に、図4を参照して従来の輻輳通知方法を説明する。図4は、複数のサーバ402A〜F、それぞれ複数のサーバ402A〜C又は402D〜Fを収容するスイッチ404A、B、スイッチ404A及びBを集約するスイッチ408を示す。図4の構成で、スイッチ408が自身のフレームバッファ410で輻輳が生じていることを検出した場合を考える。このとき、フレームバッファ410から抽出したフレームの送信元がサーバ402Cならば、スイッチ408はサーバ402Cを宛先としてCNMを生成し送信する。そして、CNMはスイッチ404Aで中継され、サーバ402Cへ伝達される。
しかし、このようなフレームの抽出はフレームバッファに蓄積されていたフレームのうち所定数のフレーム又は所定の割合のフレームしか対象とせず、各サーバ402A〜Fが送信しているトラフィック量や送信レートを考慮しない。したがって、サーバ402Cの送信レートは他のサーバ402A、B、D〜Fに比べて低いかも知れない。このような場合には、CNMを受信したサーバ402Cによるトラフィックの抑制量が、他のサーバ402A、B、D〜Fが送信するトラフィック量に比べて非常に少なく、スイッチ408で生じている輻輳を解消することができない可能性がある。
次に、上述の輻輳通知方法が各スイッチでどのように行われるかを詳しく説明する。図5は従来のスイッチがCNMを生成するときの動作を示す図である。L2スイッチ500は、図4の輻輳を検出したスイッチ408に対応する。L2スイッチ500は、4つのポート1〜4、フレームバッファ502、MACテーブル504、CPU506、メモリ508を有する。
図5中、破線矢印で示されるように、ユーザデータを伝送するフレームは、複数のポート1〜3から入力され、フレームバッファ502に蓄積され、順次ポート4から送信されている。CPU506は、フレームバッファ502に蓄積されているフレーム数を監視し、所定の閾値を超えると輻輳状態であると判定する。
輻輳状態であると判定した場合、CPU506はCNMを生成し、フレームバッファ502に蓄積することにより、ポートを介して送信する。ここで、CNMの宛先は、輻輳状態であると判定したときにフレームバッファ502から抽出したフレームの送信元アドレスに決定される。図5の例では、CNMの宛先アドレス(DA)はCに決定され、太線矢印で示されるようにポート1を介してCNMが送信される。
フレームの抽出は、フレームバッファ502に蓄積されていたフレームのうち、数フレームや十数フレームのような所定数のフレーム又は5%や10%のような所定の割合のフレームを抽出することにより行われる。CPU506は、これらの限られたフレームに含まれる送信元アドレスをCNMの宛先アドレスとして設定する。
上述のように決定されたCNMの宛先は、必ずしも他の送信元と比べて多くのトラフィックを送出しているとは言えない。輻輳状態の判定を行うときに、送出するトラフィック量の少ない送信元からのフレームがたまたまフレームバッファ502に蓄積されていた場合、その送信元がCNMの宛先として選択されてしまうからである。このように、送出するトラフィック量の少ない送信元にCNMを送信して、送出するトラフィック量を抑制させたとしても、スイッチ500に流入するトラフィック量はあまり減少せず、輻輳を解消することができない。
また、従来の輻輳通知方法は、中継スイッチでも行われる。図6は、従来のスイッチがCNMを中継するときの動作を示す図である。L2スイッチ600は、図4のCNMを中継するスイッチ404Aに対応する。L2スイッチ600は、4つのポート1〜4、フレームバッファ602、MACテーブル604、CPU606、メモリ608を有する。
図6中、CNMの流れは太線矢印で示される。L2スイッチ600は、例えば図5で説明したように宛先アドレス(DA)=Cを有するCNM620をポート4で受信する。受信されたCNMは、通常のデータフレームと同様にフレームバッファ602に蓄積され、MAC学習され、転送される。つまり、ポート4で受信されたCNM620は、宛先アドレス(DA)=Cのまま、ポート1からCNM622として送信される。
このように、CNMを中継するスイッチ600は受信したCNMを単に転送するだけなので、CNMを生成するスイッチ500で生じた問題が依然として存在する。
さらに、図5のL2スイッチ500は自身の装置内の状況にのみ基づきCNMを生成し、図6のL2スイッチ600は受信したCNMを単に転送するのみなので、多段接続されたスイッチを介して接続された送信元の状況を考慮していない。したがって、生成され転送されるCNMの宛先は、本来CNMを送信すべき宛先、つまり送信トラフィック量が多く輻輳の原因となっている送信元と異なるという問題が起こり得る。
また、近年、データセンタではロスレストラフィックに対する要望が増してきている。例えば、FCoEトラフィックは本来ロスレスのFC(Fiber Channel)をフレームロスを前提とするEthernet上で動作させるため、ロスレスのEthernetが求められる。従来のCNでは、図4、5等に関連して上述したように輻輳が発生した後に、CNMを送信することにより輻輳を回避しようとしている。しかし、輻輳が発生してから回避されるまでの間にフレームロスが生じてしまうという問題がある。
<輻輳を回避する方法の概略>
図7を参照して、本発明の一実施形態による輻輳を回避する方法の概略を説明する。図7の構成は図4の構成と同様である。図7は、複数のサーバ702A〜F、それぞれ複数のサーバ702A〜C又は702D〜Fを収容するスイッチ704A、B、スイッチ704A及びBを集約するスイッチ708を示す。図7の構成で、スイッチ708が自身のフレームバッファ710で輻輳が生じていることを検出した場合を考える。
スイッチ708は自身のフレームバッファ710に蓄積されているフレーム数が所定の閾値Bthよりも多くなると、輻輳状態であると判定し、CNMを生成し送信する。このとき、CNMの宛先は、フレームバッファ710から抽出したフレームの送信元アドレスとするのではなく、スイッチ708が有する各ポート(Port1、2、4)の統計情報に基づき決定される。
つまり、スイッチ708は、検出した輻輳の原因となるフレームがどのポートから入力されたのかを特定する。このようにフレームを解析しなくても、輻輳の原因となるフレームが入力されたポートを特定することが出来る。
統計情報は、ポート毎のトラフィック量を表すものであればよい。例えば、トラフィック量は、単位時間あたりのフレーム数、ビット数又はバイト数等をカウントした受信レートであってもよい。或いは、スイッチの全てのポートの中での受信レートの順位、又は高/中/低等の分類であってもよい。
スイッチ708が統計情報を調べた結果、ポート1の受信レートがポート2、4よりも高かった場合、スイッチ708は、最も高い受信レートを有するポート1からCNMを送信すべきであると決定し、ポート1に割り当てられているサーバ702A、B、CをCNMの宛先として決定する。
代替として、統計情報は、ポートに割り当てられたMACアドレス毎のトラフィック量を表してもよい。スイッチ708が統計情報を調べた結果、サーバ702CのMACアドレス(C)に関連する受信レートが他のMACアドレスのものよりも高かった場合、スイッチ708は、最も高い受信レートを有するMACアドレス(C)、つまりサーバ702CをCNMの宛先として決定する。
このように、スイッチ708は、統計情報に基づいてCNMの宛先を決定するので、実際に輻輳の原因となる多くのトラフィックを送出している送信元へCNMを送信することができる。したがって、輻輳であると判定されたときにフレームバッファ内に存在していたフレームの送信元をCNMの宛先とする場合に比べて、輻輳を確実に回避することができる。
<CNMを生成する装置>
次に、スイッチがCNMをどのように生成するかを説明する。
図8は、本発明の一実施形態によるスイッチのハードウェア構成図である。
スイッチ800は、シャーシ802と、シャーシに格納されるカード804〜812とを有する。
シャーシ802は、各カードを格納する筐体である。
IF(Interface)カード804は、特定のネットワークで通信を行う際の送受信処理を行うためのカードである。例えば、Ethernetに接続するための送受信処理を行うことが出来る。例えば、プロセッサ814やRAM816やROM818等が搭載されている。
SWカード806は、パケットの交換(スイッチング)機能を有するカードである。
管理モジュール808は各カードを管理するための機能を有する。
電源モジュール810は、スイッチが動作するためのパワーの供給元である。
ファンモジュール812は、異常な温度上昇により部品が損傷してしまうのを防ぐための冷却機能を有する。
このようなカードを実装する装置でCNMを生成することが出来る。
図9は、本発明の一実施形態によるCNMを生成するスイッチの機能ブロック図である。図9は、本発明の一実施形態によるスイッチ800の各カードに搭載されたプロセッサ814がメモリ816、818に格納されたプログラムを実行したときの機能を示す。
スイッチ800は、IF(Interface)機能部910とフレーム処理部920とスイッチ機能部930とを有する。
また、IF機能部910とフレーム処理部920はIFカード804のプロセッサ814がRAM816やROM818に記憶されたプログラム等を実行することで実現する機能を示し、スイッチ機能部930は、SWカード806のプロセッサ814がRAM816やROM818に記憶されたプログラムを実行することで実行される機能を示す。
IF機能部910は、フレームの送受信処理を実行する。詳細には、IF機能部910は、受信部912と統計情報収集部914と送信部916とを有する。
受信部912は、各ポートから受信するフレームを受信フレームバッファ922に格納する。
統計情報収集部914は、各ポートから入力されるフレームをモニタし、統計情報を取得し、随時輻輳検出部924に通知する。統計情報とは例えば、単位時間当たりに該ポートを通過した受信フレーム数等で良い。
送信部916は、送信フレームバッファ926に格納されているフレームを該当するポートに出力する。
次に、フレーム処理部920は、フレームのフォーマットを変換する。詳細には、フレーム処理部920は、受信フレームバッファ922と輻輳検出部924と送信フレームバッファ926とを有する。
輻輳検出部924は、受信フレームバッファ922内のフレーム数が閾値を超えると、統計情報収集部914で収集される統計情報に基づいて決定するポートをポート情報付与部934に通知する。例えば、受信レートが1番高いポートをポート情報付与部934に通知する。
このように、輻輳検出部924は、受信フレームバッファ922のフレーム数によって、輻輳を検出し、更に、各ポートの受信レートによって、輻輳の原因となるフレームがどのポートから入力されているかを特定する。
また、輻輳検出部924は、輻輳を検出したことをCNM生成部936に通知する。
スイッチ機能部930は、受信フレームを出力するポートを決定し、MACテーブル932とポート情報付与部934とCNM生成部936とを有する。
MACテーブル932は、例えば、ポートとアドレスが対応付けられて記憶されている。
ポート情報付与部934は、受信フレームの宛先又は送信元を解析し、アドレスをキーとしてMACテーブル932を検索し、アドレスに対応するポート情報を得る。そして、得られたポート情報をフレームに付与し、送信フレームバッファ926に格納する。また、ポート情報付与部934は、輻輳が検出されると、輻輳検出部924により通知された受信レートの1番高いポートの情報をCNM生成部936で生成されるCNMに付与し、送信フレームバッファ926に格納する。
また、ポート情報付与部934は、輻輳検出部924により通知された受信レートの1番高いポートに属するMACアドレスをMACテーブル932から検索し、CNM生成部936により生成されたCNMの宛先として設定する。
CNM生成部936は、輻輳検出部924から輻輳が検出されたことを通知されると、輻輳通知メッセージとしてCNMを生成する。CNM生成部936は、生成したCNMをポート情報付与部934に渡す。
送信部916は、送信フレームバッファ926に格納されたフレームを順次ポート情報が示すポートに出力する。
また、輻輳検出部924は、受信レートが1番高いポートに限らず、代替として、上位2つ又は5つなどのように、高い受信レートを有する所定数のポートを決定してもよい。或いは、所定値より高い受信レートを有する1又は複数のポートを決定してもよい。
更に代替として、MACテーブル932は、MACアドレス毎に統計情報を記憶していてもよい。MACテーブル932に記憶される統計情報は、統計情報収集部914の保持する統計情報により例えば1分毎、1時間毎のように定期的に更新される。
この代替の例では、輻輳検出部924は、統計情報収集部914を参照してポートを決定する代わりに、MACテーブル932に記憶されているMACアドレス毎の統計情報を比較し、最も高い受信レートを有するMACアドレスを決定してもよい。或いは、輻輳検出部924の代わりに、ポート情報付与部934が、MACテーブル932を参照し、最も高い受信レートを有するMACアドレスを決定してもよい。
また、受信レートが1番高いMACアドレスに限らず、代替として、上位2つ又は5つなどのように、高い受信レートを有する所定数のMACアドレスを決定してもよい。或いは、所定値より高い受信レートを有するMACアドレスを決定してもよい。
このように、フレームを解析せずに輻輳の原因となっているポートを特定することが出来るので、フレーム解析中に生じうるフレームロスを防ぐことが出来る。
上述のようにMACテーブル932に統計情報を追加することにより、ポート情報付与部934は、MACテーブル932を参照するだけで、CNMの宛先を決定することができる。したがって、統計情報をポートやMACアドレスと関連付ける新たなテーブルを設ける必要がない。
本実施形態によると、実際に輻輳を引き起こしているポートからCNMを送信するので、確実に輻輳を回避することができる。
<CNMを中継する装置>
次に、スイッチがCNMをどのように中継するかを説明する。
本発明の一実施形態によるCNMを中継するスイッチのハードウェア構成図は図8に示したものと同様である。図8に示したスイッチ800により、CNMを中継することが出来る。
図10は、本発明の一実施形態によるCNMを中継するスイッチの機能ブロック図である。図10は、本発明の一実施形態によるスイッチ800の各カードに搭載されたプロセッサ814がメモリ816、818に格納されたプログラムを実行したときの機能を示す。
図10では、図9の機能ブロックに加えて、IF機能部910がCNM検出部917を有する。他の機能ブロックは図9と同様であり、ここでは重複する説明は省略する。
CNM検出部917は各ポートから入力されるフレームをモニタし、CNMが受信されたことを検出する。CNM検出部917は、CNMが受信されたことを輻輳検出部924に通知する。受信されたCNMは、受信フレームバッファ922に格納される。
輻輳検出部924は、CNM検出部917からCNMが受信されたことを通知されると、統計情報収集部914で収集される統計情報に基づいて決定するポートをポート情報付与部934に通知する。例えば、受信レートが1番高いポートをポート情報付与部934に通知する。
このように、輻輳検出部924は、CNMが検出されると、各ポートの受信レートによって、輻輳の原因となるフレームがどのポートから入力されているかを特定する。
ポート情報付与部934は、輻輳検出部924により決定された受信レートの1番高いポートの情報を受信フレームバッファ922から読み出したCNMに付与し、このCNMを送信フレームバッファ926に格納する。
ここで、ポート情報付与部934は、MACテーブルを検索し、輻輳検出部924により決定されたポートに属するMACアドレスを得る。そして、得られたMACアドレスが受信したCNMに含まれていた宛先アドレスと異なる場合は、ポート情報付与部934は、CNMの宛先アドレスを輻輳検出部924により決定されたポートに属するMACアドレスに書き換える。
代替として、輻輳検出部924は、上述のように高い受信レートを有する所定数のポート、或いは所定値より高い受信レートを有する1又は複数のポートを決定してもよい。
更に代替として、MACテーブル932は、上述のようにMACアドレス毎に統計情報を記憶していてもよい。
そして、上述のように宛先を書き換えられたCNMは、他のフレームと同様に送信フレームバッファ926に蓄積され、送信部916によりポートを介して送信される。
このように、CNMを中継するスイッチにおいても、フレームを解析せずに輻輳の原因となっているポートを特定することが出来るので、フレーム解析中に生じうるフレームロスを防ぐことが出来る。
上述のように、スイッチ800は、統計情報に基づいてCNMの宛先を書き換えるので、実際に輻輳の原因となる多くのトラフィックを送出している送信元へCNMを転送することができる。これにより、スイッチ800は、他のスイッチが輻輳時にそのスイッチのフレームバッファ内のフレームに基づき生成したCNMを受信した場合にも、実際に多くのトラフィックを送出している送信元へCNMを転送することができる。つまり、スイッチ800は、複数のスイッチが多段接続されたネットワークにおいても、輻輳の原因となっている送信元へCNMを転送することができ、輻輳を確実に回避することができる。
さらに、本実施形態のスイッチ800が多段接続されたネットワークでは、実際に輻輳を引き起こしている送信元を宛先とするようCNMの宛先を繰り返し更新し続ける。したがって、単に受信したCNMをそのまま転送する場合に比べて、輻輳を確実に回避することができる。
また、図9と図10の機能の両方を1つのスイッチに備えるように構成しても良い。
<ロスレストラフィックへの適用/FIPシーケンスの概要>
図4、5等に関連して上述したように、従来のCNでは、輻輳が発生した後にCNMを送信するので、輻輳が発生してから回避されるまでの間にフレームロスが生じてしまい、近年需要の増大しているロスレストラフィックを保証することができない。したがって、将来起こり得る輻輳を未然に回避することは非常に有用である。
本発明の実施形態は、ロスレストラフィックとしてFCoEを例にとって説明されるが、本発明の実施形態は他のいかなるロスレストラフィックにも適用できる。
通常、保証されるべきロスレストラフィックが送信される前に、そのロスレストラフィック固有の初期化プロトコルが実行される。例えば、FCoEの場合にはFIPが使用される。FIPフレームは、図2に示したEthernetフレームフォーマットに従って伝達され、EtherType(ET)フィールドは0x8914に設定される。図11は、図2のETに0x8914が設定された場合、つまりFIPフレームのフレームフォーマットを示す。簡単のため、図11は図2のEtherTypeフィールド以降を示す。
次に、図12を参照してFIPシーケンス1200について説明する。FIPシーケンス1200は、Enode1201とFCF(Fiber Forwarder)1204との間で、L2スイッチ1202を介して実行される。Enode1201は、例えば図1のサーバ102、図4のサーバ402A〜F又は図7のサーバ702A〜Fに相当する。L2スイッチ1202はFCF機能を備えていても備えていなくてもよい。L2スイッチ1202がFCF機能を備えていない場合、ネットワーク内の他のスイッチがFCF機能を備えていればよい。
段階1210で、Enode1201は、FCoE又はFIPトラフィックを送受信するVLANを見付ける(VLAN Discovery)。この段階は任意である。段階1212で、Enode1201は、Ethernetのマルチキャストを利用して、自身が接続することができFCF機能を備えたスイッチを検索する(FIP Discovery)。これに対し、FCF1204はユニキャストでEnode1201に対しFCF1204のMACアドレスを返す。次に、段階1214で、Enode1201は、FCF1204から受信したMACアドレスを用いてFCF1204に接続し、ファブリックログイン及びファブリックディスカバリを行い、FCF1204との仮想リンクを確立する(FLOGI/FDISC)。ログインにより、FCoEの初期化が終了する。
FCoEの初期化後、段階1216で、FCoEによるデータ通信が行われる。
そして、段階1218で、Enode1201は、ログアウトを実行してFCF1204との接続を終了する。
<ロスレストラフィックへの適用/FIPフレームを検出する場合>
次に、スイッチがロスレストラフィックの通信に先立ち、どのように輻輳を回避するかを説明する。本実施形態では、ロスレストラフィックとしてFCoEを例にとって説明するが、本発明の実施形態は他のいかなるロスレストラフィックにも適用できる。
本発明の一実施形態によるロスレストラフィックの通信に先立ち輻輳を回避するスイッチのハードウェア構成図は図8に示したものと同様である。図8に示したスイッチ800により、ロスレストラフィックの通信に先立ち輻輳を回避することが出来る。
図13は、本発明の一実施形態によるロスレストラフィックの通信に先立ち輻輳を回避するスイッチの機能ブロック図である。図13は、本発明の一実施形態によるスイッチ800の各カードに搭載されたプロセッサ814がメモリ816、818に格納されたプログラムを実行したときの機能を示す。
図13では、図9の機能ブロックに加えて、IF機能部910がFIP/FCoE検出部918を有する。他の機能ブロックは図9と同様であり、ここでは重複する説明は省略する。
FIP/FCoE検出部918は、各ポートから入力されるフレームをモニタし、FIPフレームが受信されたことを検出する。
各ポートから入力された全てのFIPフレームは、受信フレームバッファ922へ転送される。次に、FIPフレームは、スイッチ機能部930により決定された出力されるポートの情報を付与され、送信フレームバッファ926に蓄積される。そして、FIPフレームは、送信フレームバッファ926へ転送され、送信部916により、他のフレームと同様にポートから順次送信される。
さらに、FIP/FCoE検出部918は、受信されたFIPフレームを解析する。具体的には、FIP/FCoE検出部918は、図11に示すFIPフレームのFIP protocol code、FIP subcode及びFIP Descriptorの各フィールドに設定された値に基づき、受信したFIPフレームが図12のどの段階のFIPフレームであるかを判定する。例えば、FIP protocol code=0001h、FIP subcode=01h又は02hの場合には、図12の段階1212(FIP Disocvery)のFIPフレームであると判定される。また、FIP protocol code=0002h、FIP subcode=01h又は02h、FIP Descriptor=7の場合には、図12の段階1214(FLOGI/FDISC)のFIPフレームであると判定される。
FIP/FCoE検出部918は、例えば受信されたFIPフレームが図12の段階1214(FLOGI/FDISC)のFIPフレームであると判定した場合、CNM生成部936に通知する。さらに、FIP/FCoE検出部918は、ポート情報付与部934に段階1214(FLOGI/FDISC)のFIPフレームを渡すか、通知してもよい。
CNM生成部936は、FIP/FCoE検出部918からの通知に応じてCNMを生成し、生成したCNMをポート情報付与部934に渡す。
ポート情報付与部934は、受信フレームバッファ922又はFIP/FCoE検出部918から得たFIPフレームの宛先及び送信元に指定されたMACアドレス以外のMACアドレスを、CNM生成部936から渡されたCNMの宛先に設定する。つまり、CNMの宛先は、FIPフレームを送受信していないEnode(サーバ等)のMACアドレスとなる。
そして、上述のように生成されたCNMは、他のフレームと同様に送信フレームバッファ926に蓄積され、MACテーブル932に記憶されているポートとMACアドレスの関連付けに従って適切なポートから順次送信される。
これらのCNMを受信した各Enodeは送信するトラフィック量を抑制する。
ロスレストラフィックの送受信が終了すると、つまり図12の段階1216(FCoEデータ通信)が終了すると、CNM生成部936は次に説明するようにCNMの生成を停止する。
先ず、FIP/FCoE検出部918は、図12の段階1210〜1214のFIPフレームの場合と同様の手順でFIPフレームを検出及び解析する。
FIP/FCoE検出部918は、受信されたFIPフレームが図12の段階1218(FLOGO)のFIPフレームであると判定した場合、CNM生成部936に通知する。さらに、FIP/FCoE検出部918は、ポート情報付与部934に段階1218(FLOGO)のFIPフレームを渡すか、通知してもよい。
例えば、FIP protocol code=0003h、FIP subcode=02h、及びFIP Descriptor=9の場合には、図12の段階1218(FLOGO)のFIPフレームであると判定される。
FLOGOのFIPフレームは、FCoEデータ通信が終了していること、及びFIPシーケンスが終了することを意味するので、CNM生成部936はCNMの生成を停止する。
そして、それまでCNMを受信していた各Enodeは、CNMを受信しなくなると、送信するトラフィック量の抑制を解除する。
このように、ロスレストラフィックが実際に送受信される前に実行される所定のプロトコルに従うフレームを検出することにより、ロスレストラフィックが実際に送受信される前にネットワークの負荷を軽減し、十分な帯域を確保することができる。したがって、輻輳を未然に回避することができ、フレームロスを未然に防ぐことによりネットワークの信頼性を向上することができる。
代替として、FCF機能を備えていないスイッチのみが、CNMを生成してもよい。これにより、FCF機能を備えたスイッチの負荷を軽減するとともに、ネットワークで送受信されるCNMを最小限に抑え、ネットワークの信頼性を更に向上することができる。
また、図9、図10及び図13の機能の全てを1つのスイッチに備えるように構成しても良い。
<ロスレストラフィックへの適用/FCoEフレームを検出する場合>
上述のFIPフレームを検出する場合に追加して又はその代わりに、スイッチ800は、FCoEフレームを検出したときにCNMを生成し送信してもよい。以下にFCoEフレームの検出をトリガにCNMを生成する実施形態を説明する。
本実施形態によるスイッチのハードウェア構成図及び機能ブロック図は、それぞれ図8及び図13に示したものと同様であり、ここでは重複する説明は省略する。
先ず、FIP/FCoE検出部918は、各ポートから入力されるフレームをモニタし、FCoEフレームが受信されたことを検出する。
各ポートから入力された全てのFCoEフレームは、受信フレームバッファ922へ転送される。次に、FCoEフレームは、スイッチ機能部930により決定された出力されるポートの情報を付与され、送信フレームバッファ926に蓄積される。そして、FCoEフレームは、送信フレームバッファ926へ転送され、送信部916により、他のフレームと同様にポートから順次送信される。
さらに、FIP/FCoE検出部918は、受信されたFIPフレームを解析する。具体的には、FIP/FCoE検出部918は、図2に示すEthernetフレームのEtherTypeフィールドに0x8906が設定されていた場合、図12の段階1216(FCoEデータ通信)のFCoEフレームであると判定する。
FIP/FCoE検出部918は、受信されたFCoEフレームが図12の段階1216(FCoEデータ通信)のFCoEフレームであると判定した場合、CNM生成部936に通知する。さらに、FIP/FCoE検出部918は、ポート情報付与部934に段階1216(FCoEデータ通信)のFCoEフレームを渡すか、通知してもよい。
CNM生成部936は、FIP/FCoE検出部918からの通知に応じてCNMを生成し、生成したCNMをポート情報付与部934に渡す。
ポート情報付与部934は、受信フレームバッファ922又はFIP/FCoE検出部918から得たFCoEフレームの宛先及び送信元に指定されたMACアドレス以外のMACアドレスを、CNM生成部936から渡されたCNMの宛先に設定する。つまり、CNMの宛先は、FCoEフレームを送受信していないEnode(サーバ等)のMACアドレスとなる。
そして、上述のように生成されたCNMは、他のフレームと同様に送信フレームバッファ926に蓄積され、MACテーブル932に記憶されているポートとMACアドレスの関連付けに従って適切なポートから順次送信される。
これらのCNMを受信した各Enodeは送信するトラフィック量を抑制する。
CNMの生成及び送信を停止する手順は、FIPフレームを検出する場合と同様である。
このように、ロスレストラフィックの送受信を検出することにより、ロスレストラフィックが実際に送受信されると直ちにネットワークの負荷を軽減し、十分な帯域を確保することができる。したがって、輻輳を未然に回避することができ、フレームロスを未然に防ぐことによりネットワークの信頼性を向上することができる。
また、図9、図10及び図13の機能の全てを1つのスイッチに備えるように構成しても良い。
<VLANに基づくCNMの生成>
上述の実施形態では、ポート毎又はMACアドレス毎の統計情報に基づき、CNMの宛先MACアドレスを決定した。本実施形態では、VLAN毎の統計情報がMACテーブルに追加して記憶される。
本実施形態によるスイッチのハードウェア構成図及び機能ブロック図は、それぞれ図8及び図9に示したものと同様であり、ここでは重複する説明は省略する。また、本実施形態は、図10、13の機能ブロック図を有するスイッチに適用されてもよい。
本実施形態では、図14に示されるMACテーブルは図9に示されるMACテーブル932に対応する。MACテーブル932はポート、VLAN(VLAN ID)、そのVLANに割り当てられたMACアドレス及びVLAN毎の統計情報を記憶する。統計情報は、統計情報収集部914の保持する統計情報により、例えば1分毎、1時間毎のように定期的に更新される。
図14に示した例では、統計情報として単位[Byte/sec]により受信レートを記憶しているが、トラフィック量を表すものであればよく、例えば単位時間あたりのフレーム数又はビット数等、或いはスイッチの全てのVLANの中での受信レートの順位であってもよい。
図14の例では、ポート毎の統計情報を比較すると、ポート1は65(=30+35)MByte/sec、ポート2は55(=50+5)MByte/secであり、ポート1が最も受信レートが高い。したがって、上述のポート毎の統計情報に基づきCNMを生成する実施形態では、輻輳検出部924は、統計情報収集部914の有する統計情報に基づき、CNMを送出すべきポートとしてポート1を選択する。ポート情報付与部934は、輻輳検出部924の選択したポート1に割り当てられたMACアドレス(A、B、C)をCNM生成部936により生成されたCNMの宛先として設定する。
しかし、VLAN毎の受信レートを比較すると、ポート2に割り当てられたVLAN ID=1を有するVLANの受信レートが50MByte/secであり最も高い。本実施形態では、ポート情報付与部934は、図14のMACテーブルからVLAN ID=1を有するVLANに割り当てられたMACアドレス(D)をCNM生成部936により生成されたCNMの宛先として設定する。
本実施形態によると、輻輳を回避するための更に高精度のトラフィック制御を実現することができる。また、CNMの宛先はVLAN単位で選択されるので、ポート単位にCNMを送信する場合よりも、送信するCNMの数を低減することができる。これは、ネットワーク資源の有効活用に資する。
本実施形態においても、フレームを解析せずに輻輳の原因となっているVLANを特定することが出来るので、フレーム解析中に生じうるフレームロスを防ぐことが出来る。
<CNMを生成する方法>
図15を参照して、CNMを生成する方法を説明する。図15は、本発明の一実施形態によるスイッチがCNMを生成する方法を示すフローチャート1500を示す。図15に示す方法は、図8に示したハードウェア構成図及び図9に示した機能ブロック図により説明されたスイッチ800により実行される。
方法は、段階1502で開始する。
段階1504で、輻輳検出部924は、受信フレームバッファ912を監視し、輻輳が生じているか否かを調べる。受信フレームバッファ912に蓄積されているフレームの数が所定の閾値より多い場合、輻輳検出部924は輻輳状態であると判定し、ポート情報付与部934及びCNM生成部936に輻輳状態であることを通知する。次に、方法は段階1506に進む。
段階1506で、輻輳検出部924は、統計情報収集部914で収集された統計情報参照する。段階1508で、輻輳検出部924は、統計情報を比較し、最も高い受信レートを有するポートを選択し、ポート情報付与部934に通知する。
次に、段階1510で、ポート情報付与部934は、MACテーブル932を参照して、段階1508で輻輳検出部92により選択されたポートに割り当てられたMACアドレスを調べる。
段階1512で、CNM生成部936は、CNMを生成し、ポート情報付与部934に渡す。ポート情報付与部934は、段階1510でMACテーブル932から得たMACアドレスを、CNM生成部936により生成されたCNMの宛先として設定する。また、ポート情報付与部934は、輻輳検出部923により選択されたポートの情報をCNMに付与する。
そして、段階1514で、ポート情報付与部934は、段階1512で宛先を設定しポート情報を付与したCNMを送信フレームバッファ926に蓄積する。送信フレームバッファ926に蓄積されたCNMは、他のフレームと同様に順次送信される。ここで、CNMの宛先は、統計情報に基づき決定された最も受信レートの高いポートに割り当てられたMACアドレスなので、CNMは最も高い受信レートを有するポートから送出されることになる。
方法は段階1516で終了する。
代替として、段階1506で、図9と関連して上述したように、高い受信レートを有する所定数のポート、所定値より高い受信レートを有する1又は複数のポートが決定されてもよい。
更に代替として、図9と関連して上述したように、MACテーブル932がMACアドレス毎に統計情報を記憶し、CNMの宛先及び送出すべきポートを決定するために用いられてもよい。
<CNMを中継する方法>
図16を参照して、CNMを中継する方法を説明する。図16は、本発明の一実施形態によるスイッチがCNMを中継する方法を示すフローチャートである。図16に示す方法は、図8に示したハードウェア構成図及び図10に示した機能ブロック図により説明されたスイッチ800により実行される。
方法は、段階1602で開始する。
段階1604で、CNM検出部917は、スイッチ800の全てのポートを監視し、CNMが受信されたか否かを調べる。CNM検出部917は、受信したフレームのEtherTypeフィールドが0x22E7であった場合に、CNMが受信されたと判定し、CNMが受信されたことを輻輳検出部924に通知する。受信されたCNMは、受信フレームバッファ922に格納される。次に、方法は段階1606に進む。
段階1606で、輻輳検出部924は、CNM検出部917からCNMが受信されたことを通知されると、統計情報収集部914から統計情報を得る。
段階1608で、輻輳検出部924は、統計情報を比較し、最も高い受信レートを有するポートを選択し、ポート情報付与部934に通知する。例えば、輻輳検出部924は、受信レートが1番高いポートを選択する。
段階1610で、ポート情報付与部934は、段階1608で輻輳検出部924により選択されたポートに割り付けられたMACアドレスと段階1604で受信したCNMの宛先に設定されているMACアドレスを比較する。段階1608で選択されたポートに割り付けられたMACアドレスの中に、CNMの宛先に設定されているMACアドレスと同じMACアドレスがある場合には、方法は段階1612へ進む。同じMACアドレスがない場合には、方法は段階1618へ進む。
段階1612で、ポート情報付与部934は、段階1604で受信したCNMの宛先を変更しない。さらに、段階1608で決定されたポートに割り付けられたMACアドレスであって、段階1604で受信したCNMの宛先に設定されているMACアドレス以外の差分のMACアドレスがある場合、CNM生成部936は追加のCNMを生成し、ポート情報付与部934は、これらの差分のMACアドレスを追加のCNMに設定してもよい。次に、方法は段階1614へ進む。
段階1618で、ポート情報付与部934は、段階1608で決定されたポートに割り付けられたMACアドレスを、MACテーブル932から検索し、CNMの宛先として選択する。
段階1620で、ポート情報付与部934は、段階1608で決定されたポートに割り付けられたMACアドレスに、段階1604で受信したCNMの宛先を書き換える。このとき、CNM生成部936は追加のCNMを生成し、ポート情報付与部934は、段階1608で決定されたポートに割り付けられた全てのMACアドレスをこの追加のCNMの宛先として設定してもよい。
そして、段階1614で、ポート情報付与部934は、段階1604で受信したCNM(段階1612で宛先を書き換えなかったCNM)又は段階1620で宛先を書き換えたCNMを送信フレームバッファ926に蓄積する。送信フレームバッファ926に蓄積されたCNMは、他のフレームと同様に順次送信される。
ここで、CNMの宛先は、統計情報に基づき決定された最も受信レートの高いポートに割り当てられたMACアドレスなので、CNMは最も高い受信レートを有するポートから送出されることになる。
方法は段階1616で終了する。
代替として、段階1608で、図9又は10と関連して上述したように、高い受信レートを有する所定数のポート、所定値より高い受信レートを有する1又は複数のポートを決定が決定されてもよい。
更に代替として、図9又は10と関連して上述したように、MACテーブル932がMACアドレス毎に統計情報を記憶し、CNMの宛先及び送出すべきポートを決定するために用いられてもよい。
<FIPフレームの検出をトリガにCNMを生成する方法>
図17を参照して、スイッチがロスレストラフィックの通信に先立ち輻輳を回避する方法を説明する。図17は、本発明の一実施形態によるスイッチが輻輳を回避する方法を示すフローチャートである。図17に示す方法は、図8に示したハードウェア構成図及び図13に示した機能ブロック図により説明されたスイッチ800により実行される。
本発明の実施形態は、ロスレストラフィックとしてFCoEを例にとって説明されるが、本発明の実施形態は他のいかなるロスレストラフィックにも適用できる。
方法は、段階1702で開始する。
段階1704で、FIP/FCoE検出部918は、各ポートから入力されるフレームをモニタし、FIPフレームが受信されたか否かを調べる。さらに、FIP/FCoE検出部918は、図13と関連して説明したように、FIPフレームを解析し、図12の段階1214(FLOGI/FDISC)のFIPフレームであると判定した場合、CNM生成部936に通知する。さらに、FIP/FCoE検出部918は、ポート情報付与部934に段階1214(FLOGI/FDISC)のFIPフレームを渡すか、通知してもよい。
段階1706で、ポート情報付与部934は、スイッチ800がFCF機能を備えているか否かを調べる。FCF機能を備えている場合には、スイッチ800の処理負荷を軽減するため、以降の段階を実行せずに、方法は段階1722で終了する。FCF機能を備えていない場合には、方法は段階1708へ進む。
段階1708で、ポート情報付与部934は、段階1704でFLOGI/FDISCのFIPフレームを受信したポート以外のポートを選択する。
段階1710で、ポート情報付与部934は、MACテーブル932を参照して、段階1708で選択したポートに割り当てられたMACアドレスを得る。
段階1712で、CNM生成部936は、FIP/FCoE検出部918からの通知に応じてCNMを生成し、生成したCNMをポート情報付与部934に渡す。ポート情報付与部934は、段階1710で得たMACアドレスをCNM生成部936により生成されたCNMの宛先として設定する。
段階1714で、ポート情報付与部934は、ユーザにより設定された値に基づき、フィードバック値等のCNMに含まれるパラメータを編集する。
段階1716で、ポート情報付与部934は、CNMを送信フレームバッファ926へ転送する。送信フレームバッファ926に蓄積されたCNMは、他のフレームと同様に順次送信される。
段階1718で、FIP/FCoE検出部918は、各ポートから入力されるフレームをモニタし、FIPフレームが受信されたか否かを調べる。さらに、FIP/FCoE検出部918は、図13と関連して説明したようにFIPフレームを解析し、図12の段階1218(FLOGO)のFIPフレームであると判定した場合、CNM生成部936に通知する。さらに、FIP/FCoE検出部918は、ポート情報付与部934に段階1218(FLOGO)のFIPフレームを渡すか、通知してもよい。
段階1720で、CNM生成部936はCNMの生成を停止する。これにより、それまでCNMを受信していた各Enodeは、CNMを受信しなくなると、送信するトラフィック量の抑制を解除する。
方法は段階1722で終了する。
<FCoEフレームの検出をトリガにCNMを生成する方法>
図18を参照して、スイッチがロスレストラフィックの通信の開始後に輻輳を回避する方法を説明する。図18は、本発明の一実施形態によるスイッチが輻輳を回避する別の方法を示すフローチャートである。図18に示す方法は、図8に示したハードウェア構成図及び図13に示した機能ブロック図により説明されたスイッチ800により実行される。
本発明の実施形態は、ロスレストラフィックとしてFCoEを例にとって説明されるが、本発明の実施形態は他のいかなるロスレストラフィックにも適用できる。
方法は、段階1802で開始する。
段階1804で、FIP/FCoE検出部918は、各ポートから入力されるフレームをモニタし、図13と関連して説明したようにFCoEフレームが受信されたか否かを調べる。さらに、FIP/FCoE検出部918は、FCoEフレームを解析し、図12の段階1216(FCoEデータ通信)のFCoEフレームであると判定した場合、CNM生成部936に通知する。さらに、FIP/FCoE検出部918は、ポート情報付与部934に段階1216(FCoEデータ通信)のFCoEフレームを渡すか、通知してもよい。
段階1806で、ポート情報付与部934は、スイッチ800がFCF機能を備えているか否かを調べる。FCF機能を備えている場合には、スイッチ800の処理負荷を軽減するため、以降の段階を実行せずに、方法は段階1818で終了する。FCF機能を備えていない場合には、方法は段階1808へ進む。
段階1808で、ポート情報付与部934は、段階1804でFCoEフレームを受信したポート以外のポートを選択する。
段階1810で、ポート情報付与部934は、MACテーブル932を参照して、段階1808で選択したポートに割り当てられたMACアドレスを得る。
段階1812で、CNM生成部936は、FIP/FCoE検出部918からの通知に応じてCNMを生成し、生成したCNMをポート情報付与部934に渡す。ポート情報付与部934は、段階1810で得たMACアドレスをCNM生成部936により生成されたCNMの宛先として設定する。
段階1814で、ポート情報付与部934は、ユーザにより設定された値に基づき、フィードバック値等のCNMに含まれるパラメータを編集する。
段階1816で、ポート情報付与部934は、CNMを送信フレームバッファ926へ転送する。送信フレームバッファ926に蓄積されたCNMは、他のフレームと同様に順次送信される。
方法は段階1818で終了する。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1) 複数のポートを介して受信するフレームに基づいて輻輳を検出し、
前記検出した輻輳の原因となるフレームを受信するポートを、前記複数のポートそれぞれのトラフィック量に基づいて特定する、
ことを特徴とする伝送方法。
(付記2) 前記特定したポートから、前記検出した輻輳を通知する輻輳通知メッセージを送信する、
ことを特徴とする付記1記載の伝送方法。
(付記3) 前記特定したポートに関連付けられたアドレスを宛先とする輻輳通知メッセージを、前記特定したポートから送信させる、
ことを特徴とする付記1又は2に記載の伝送方法。
(付記4) 前記各ポートに割り当てられたVLANそれぞれの受信レートに基づいて、前記検出した輻輳の原因となっているVLANを決定する、
ことを特徴とする付記1乃至3の何れかに記載の伝送方法。
(付記5) ポートを介して輻輳通知メッセージを受信し、
前記受信した輻輳通知メッセージの宛先を、前記特定したポートに関連付けられたアドレスに書き換える、
ことを特徴とする付記1乃至4何れかに記載の伝送方法。
(付記6) 前記ポートを介して受信したフレームの種類と前記受信レートに基づいて、前記輻輳通知メッセージを送信するポートを決定する、
ことを特徴とする付記1乃至5の何れかに記載の伝送方法。
(付記7) 受信したフレームの種類に基づいて決定したポートからの前記輻輳通知メッセージの送信を停止する、
ことを特徴とする付記2乃至6の何れかに記載の伝送方法。
(付記8) FCoE(Fiber Channel over Ethernet)フレーム又はFIP(FCoE Initialization Protocol)フレームを受信したポートからの前記輻輳通知メッセージの送信を停止する、
ことを特徴とする付記6又は7に記載の伝送方法。
(付記9) フレームを送受信する1又は複数のポートと、
前記ポートの各々の受信レートを格納する統計情報収集部と、
前記複数のポートを介して受信したフレームに基づいて、輻輳を検出する検出部と、
前記検出した輻輳の原因となるフレームを受信するポートを、前記格納された受信レートに基づいて、特定する制御部と、
を有する装置。
(付記10) 前記制御部は、前記特定したポートから、前記検出した輻輳を通知する輻輳通知メッセージを送信させる、
ことを特徴とする付記9記載の装置。
(付記11) 前記制御部は、前記特定したポートに関連付けられたアドレスを宛先とする輻輳通知メッセージを、前記特定したポートから送信させる、
ことを特徴とする付記9又は10に記載の装置。
(付記12) 前記制御部は、前記各ポートに割り当てられたVLANそれぞれの受信レートに基づいて、前記検出した輻輳の原因となっているVLANを決定する、
ことを特徴とする付記9乃至11の何れかに記載の装置。
(付記13) ポートを介して輻輳通知メッセージを受信する受信部、
を更に有し、
前記制御部は、前記受信した輻輳通知メッセージの宛先を、前記特定したポートに関連付けられたアドレスに書き換える、
ことを特徴とする付記9乃至12何れかに記載の装置。
(付記14) 前記制御部は、前記ポートを介して受信したフレームの種類と前記受信レートに基づいて、前記輻輳通知メッセージを送信するポートを決定する、
ことを特徴とする付記9乃至13の何れかに記載の装置。
(付記15) 前記制御部は、受信したフレームの種類に基づいて決定したポートからの前記輻輳通知メッセージの送信を停止する、
ことを特徴とする付記10乃至14の何れかに記載の装置。
(付記16) 前記制御部は、FCoE(Fiber Channel over Ethernet)フレーム又はFIP(FCoE Initialization Protocol)フレームを受信したポートからの前記輻輳通知メッセージの送信を停止する、
ことを特徴とする付記14又は15に記載の装置。
(付記17) 装置に実行させるプログラムであって、
前記装置は制御部を有し、
前記制御部により前記プログラムが実行されると、
ポートを介して受信するフレームに基づいて、輻輳を検出させ、
前記検出された輻輳の原因となるフレームを受信するポートを、各ポートの受信レートに基づいて決定させる、
ことを特徴とするプログラム。
(付記18) 前記制御部は、前記特定したポートから、前記検出した輻輳を通知する輻輳通知メッセージを送信する、
ことを特徴とする付記17記載のプログラム。
(付記19) 前記制御部は、前記特定したポートに関連付けられたアドレスを宛先とする輻輳通知メッセージを、前記特定したポートから送信させる、
ことを特徴とする付記17又は18に記載のプログラム。
(付記20) 前記制御部は、前記各ポートに割り当てられたVLANそれぞれの受信レートに基づいて、前記検出した輻輳の原因となっているVLANを決定する、
ことを特徴とする付記17乃至19の何れかに記載のプログラム。
(付記21) 前記制御部は、ポートを介して受信した輻輳通知メッセージの宛先を、前記特定したポートに関連付けられたアドレスに書き換える、
ことを特徴とする付記17乃至20何れかに記載のプログラム。
(付記22) 前記制御部は、前記ポートを介して受信したフレームの種類と前記受信レートに基づいて、前記輻輳通知メッセージを送信するポートを決定する、
ことを特徴とする付記17乃至21の何れかに記載のプログラム。
(付記23) 前記制御部は、受信したフレームの種類に基づいて決定したポートからの前記輻輳通知メッセージの送信を停止する、
ことを特徴とする付記18乃至22の何れかに記載のプログラム。
(付記24) 前記制御部は、FCoE(Fiber Channel over Ethernet)フレーム又はFIP(FCoE Initialization Protocol)フレームを受信したポートからの前記輻輳通知メッセージの送信を停止する、
ことを特徴とする付記22又は23に記載のプログラム。
100 データセンタ
102 サーバ
104 ToRスイッチ
106 ラック
108 集約スイッチ
110 ルータ
112 外部ネットワーク
402A〜F、7002A〜F サーバ
404A〜B、408、704A〜B、708 スイッチ
500、600、800 スイッチ
802 シャーシ
804 IFカード
806 SWカード
808 管理モジュール
810 電源モジュール
812 ファンモジュール
814 プロセッサ
816 RAM
818 ROM
910 IF機能部
912 受信部
914 統計情報収集部
916 送信部
917 CNM検出部
918 FIP/FCoE検出部
920 フレーム処理部
922 受信フレームバッファ
924 輻輳検出部
926 送信フレームバッファ
930 スイッチ機能部
932 MACテーブル
936 CNM生成部

Claims (8)

  1. 複数のポートを介して受信したフレームの種類を判定し、
    判定した前記受信したフレームの種類がロスレストラフィックに関するフレームの場合に、前記複数のポートそれぞれの受信レートに基づいて、前記複数のポートのうち前記ロスレストラフィックを受信したポート以外のポートから輻輳を回避するための第一の輻輳通知メッセージを送信するポートを特定し、前記第一の輻輳通知メッセージを送信する
    ことを特徴とする伝送方法。
  2. 前記特定したポートに関連付けられたアドレスを宛先として前記第一の輻輳通知メッセージを、送信する
    ことを特徴とする請求項1に記載の伝送方法。
  3. 複数のポートを介して受信したフレームの種類を判定し、
    判定した前記した受信フレームの種類がロスレストラフィックに関するフレームの場合に、前記複数のポートそれぞれに割り当てられたVLAN毎に対応した受信レートに基づいて前記複数のVLANのうち前記ロスレストラフィックを受信したVLAN以外のVLANから輻輳を回避するための第一の輻輳通知メッセージを送信するポートを特定し、前記第一の輻輳通知メッセージを送信する
    ことを特徴とする伝送方法。
  4. ポートを介して他の装置から輻輳の回避を通知する第二の輻輳通知メッセージを受信した場合、
    前記第二の輻輳通知メッセージを、前記受信レートに基づいて、前記第二の輻輳通知メッセージの宛先を書き換えて、送信することを特徴とする請求項1乃至3のうち何れかに記載の伝送方法。
  5. 前記複数のポートのうち前記ロスレストラフィックに関するフレームを受信しているポートからロスレストラフィックの完了を通知するフレームを受信すると、前記第一の輻輳通知メッセージの送信を停止する、ことを特徴とする請求項1乃至4の何れかに記載の伝送方法。
  6. FCoE(Fiber Channel over Ethernet)フレーム又は
    FIP(FCoE Initialization Protocol)フレームを受信
    した場合、該当の宛て先に送信する前記第一の輻輳通知メッセージの送信を停止する、
    ことを特徴とする請求項1乃至5のうち何れかに記載の伝送方法。
  7. フレームを送受信する1又は複数のポートと、
    前記ポートの各々の受信レートを格納する統計情報収集部と、
    前記複数のポートを介して受信したフレームの種類を判定するフレーム判定部と、
    前記フレーム判定部で前記受信したフレームの種類がロスレストラフィックに関するフレームの場合に、前記受信レートに基づいて前記複数のポートのうち前記ロスレストラフィックを受信したポート以外のポートから輻輳を回避するための第一の輻輳通知メッセージを送信するポートを特定輻輳特定する制御部と、
    前記制御部で特定したポートに第一の輻輳通知メッセージを送信する送信部
    を有する装置。
  8. 装置に実行させるプログラムであって、
    前記装置は制御部を有し、
    前記制御部により前記プログラムが実行されると、
    複数のポートから受信したフレームの種類を判定し、前記受信したフレームの種類がロスレストラフィックに関するフレームの場合に、前記複数のポートそれぞれの受信レートに基づいて前記複数のポートのうち前記ロスレストラフィックを受信したポート以外のポートから輻輳を回避するための第一の輻輳通知メッセージを送信するポートを特定することを特徴とするプログラム。
JP2012120863A 2012-05-28 2012-05-28 伝送方法、装置及びプログラム Expired - Fee Related JP6007595B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012120863A JP6007595B2 (ja) 2012-05-28 2012-05-28 伝送方法、装置及びプログラム
US13/850,392 US9319334B2 (en) 2012-05-28 2013-03-26 Apparatus and method for controlling congestion in a communication network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012120863A JP6007595B2 (ja) 2012-05-28 2012-05-28 伝送方法、装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2013247560A JP2013247560A (ja) 2013-12-09
JP6007595B2 true JP6007595B2 (ja) 2016-10-12

Family

ID=49621524

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012120863A Expired - Fee Related JP6007595B2 (ja) 2012-05-28 2012-05-28 伝送方法、装置及びプログラム

Country Status (2)

Country Link
US (1) US9319334B2 (ja)
JP (1) JP6007595B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2887590B1 (en) * 2012-09-25 2017-09-20 Huawei Technologies Co., Ltd. Flow control method, device and network
JP6349788B2 (ja) * 2014-03-05 2018-07-04 富士通株式会社 スイッチ装置、ネットワークシステム、およびスイッチ装置の制御方法
US9660914B1 (en) * 2014-05-08 2017-05-23 Google Inc. System and method for providing congestion notification in layer 3 networks
CN103997465B (zh) * 2014-05-27 2018-02-23 华为技术有限公司 一种生成cnm的方法及设备
US20170331743A1 (en) * 2014-12-27 2017-11-16 Intel Corporation Technologies for medium grained adaptive routing in high-performance network fabrics
EP3057290A1 (en) * 2015-02-10 2016-08-17 Telefonica Digital España, S.L.U. Method, system and device for managing congestion in network services
JP6870273B2 (ja) * 2016-10-25 2021-05-12 住友電気工業株式会社 通信制御装置、スイッチ装置、車外通信装置、通信制御方法および通信制御プログラム
US10992580B2 (en) * 2018-05-07 2021-04-27 Cisco Technology, Inc. Ingress rate limiting in order to reduce or prevent egress congestion

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6667985B1 (en) * 1998-10-28 2003-12-23 3Com Technologies Communication switch including input bandwidth throttling to reduce output congestion
JP2003092593A (ja) 2001-09-19 2003-03-28 Nec Eng Ltd 輻輳制御を考慮した経路選択制御機能付きノード及びこれを適用したネットワークにおける経路選択制御方式
JP2004040854A (ja) 2002-06-28 2004-02-05 Shindengen Electric Mfg Co Ltd スイッチング電源
JP3970138B2 (ja) 2002-09-09 2007-09-05 富士通株式会社 イーサネットスイッチにおける輻輳制御装置
JP3788803B2 (ja) 2002-10-30 2006-06-21 富士通株式会社 L2スイッチ
WO2005086435A1 (en) * 2004-03-05 2005-09-15 Xyratex Technology Limited A method for congestion management of a network, a signalling protocol, a switch, an end station and a network
US7859996B2 (en) * 2004-10-29 2010-12-28 Broadcom Corporation Intelligent congestion feedback apparatus and method
US7733770B2 (en) * 2004-11-15 2010-06-08 Intel Corporation Congestion control in a network
JP2007174152A (ja) * 2005-12-21 2007-07-05 Fujitsu Access Ltd ネットワークの輻輳制御システムおよびその方法
JP4168059B2 (ja) 2006-04-10 2008-10-22 株式会社日立コミュニケーションテクノロジー Ponシステムおよび局側装置
US8406179B2 (en) * 2007-08-07 2013-03-26 Samsung Electronics Co., Ltd. Method and apparatus for performing random access procedure in a mobile communication system
JP5546220B2 (ja) * 2009-12-01 2014-07-09 三菱電機株式会社 通信システムおよび帯域割当制御方法
KR101766474B1 (ko) * 2010-03-23 2017-08-23 인터디지탈 패튼 홀딩스, 인크 기계형 통신을 위한 효율적 시그널링을 위한 장치 및 그에 관한 방법
KR101317117B1 (ko) * 2010-04-28 2013-10-11 엘지전자 주식회사 이동통신 시스템에서의 mtc 데이터의 혼잡 제어 방법
US9231890B2 (en) * 2010-06-08 2016-01-05 Brocade Communications Systems, Inc. Traffic management for virtual cluster switching
US8929306B2 (en) * 2010-05-26 2015-01-06 Lg Electronics Inc. NAS-based signaling protocol for overload protection of random access in massive machine type communication
US8837443B2 (en) * 2010-08-13 2014-09-16 Sharp Kabushiki Kaisha Reducing congestion in wireless communication networks
WO2012026714A2 (en) * 2010-08-27 2012-03-01 Lg Electronics Inc. Mac pdu signaling and operating methods for access class barring and back-off control for large-scale radio access network
US8929218B2 (en) * 2010-09-10 2015-01-06 Brocade Communication Systems, Inc. Congestion notification across multiple layer-2 domains
US8625597B2 (en) * 2011-01-07 2014-01-07 Jeda Networks, Inc. Methods, systems and apparatus for the interconnection of fibre channel over ethernet devices
US8687649B2 (en) * 2011-03-08 2014-04-01 International Business Machines Corporation Message forwarding toward a source end node in a converged network environment
US8953443B2 (en) * 2011-06-01 2015-02-10 At&T Intellectual Property I, L.P. Method and apparatus for providing congestion management for a wireless communication network

Also Published As

Publication number Publication date
JP2013247560A (ja) 2013-12-09
US9319334B2 (en) 2016-04-19
US20130315065A1 (en) 2013-11-28

Similar Documents

Publication Publication Date Title
JP6007595B2 (ja) 伝送方法、装置及びプログラム
US11115339B2 (en) Network congestion control method, device, and system
JP5958570B2 (ja) ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法
TWI472187B (zh) 網路系統、控制器、網路管理方法、儲存媒體、通信系統及通信方法
KR101703088B1 (ko) Sdn 기반의 통합 라우팅 방법 및 그 시스템
JP5233504B2 (ja) 経路制御装置およびパケット廃棄方法
JP4057615B2 (ja) ユーザmacフレーム転送方法、エッジ転送装置、およびプログラム
US9276852B2 (en) Communication system, forwarding node, received packet process method, and program
JP5510687B2 (ja) ネットワークシステム、及び通信トラフィック制御方法
US7486674B2 (en) Data mirroring in a service
US9819590B2 (en) Method and apparatus for notifying network abnormality
US20130177016A1 (en) Communication system, control apparatus, packet handling operation setting method, and program
US20130282867A1 (en) Information system, control apparatus, method of providing virtual network, and program
US9065745B2 (en) Network traffic distribution
US20130182720A1 (en) Frame concatenation apparatus
US9641355B2 (en) Communication device, communication method, and program
CN116405281A (zh) 一种实时信息检测网络交换系统
US10608948B1 (en) Enhanced congestion avoidance in network devices
KR20180058592A (ko) Sdn 제어기
JP2018107584A (ja) ネットワーク装置及びその制御方法
JP2007019851A (ja) ルータ装置
KR20170004052A (ko) 네트워크 트래픽 상태에 기반한 대역폭 관리 방법 및 시스템
KR20180058593A (ko) Sdn 화이트박스 스위치
JP2017208718A (ja) 通信装置および通信方法
KR101707073B1 (ko) Sdn 기반의 에러 탐색 네트워크 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160519

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160829

R150 Certificate of patent or registration of utility model

Ref document number: 6007595

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees