PR

 CEEの仕様に加えられている5種類の拡張機能について,もう少し詳しく解説しよう。

 前回も説明した通り,イーサネットではフロー制御の方式として,「PAUSEフレーム」を採用している。フレームの受信側に,トラフィック処理に十分な容量のバッファ・メモリーが残っていない場合,受信側からPAUSEフレームを送信し,送信側からのデータ送信を一時的に停止させる。

 現行のイーサネットでは,物理的なポート単位でしかPAUSEフレームを送信できない。このため物理ポート上に様々なトラフィックが流れている場合,ある1種類のアプリケーションのトラフィックが大量にデータを送信してPAUSEフレームを発生させてしまうと,物理ポート全体のデータ送信が一時停止されてしまう。

一つの物理ポートを仮想的に分割

 CEEでは同一のポートに,イーサネット・データと同時に低遅延のI/Oを要求するファイバ・チャネル・プロトコルを流すことを想定しているが,イーサネットのデータの影響でPAUSEフレームが発生すると,ファイバ・チャネル・プロトコルまでが通らなくなってしまう。そこでCEEに組み込まれたのがPFC(priority flow control)である。

 PFCはIEEE 802.1Qbbとして標準化された技術で,一つの物理ポートに論理的な複数の送受信キューを持たせて,複数トラフィックのサービス要求と対応付けを行う仕組みである。各論理ポートは「プライオリティ」と呼ばれ,ストレージI/OやLANなどのトラフィックをいずれかのプライオリティに対応付ける。

 ある特定のフローで輻輳が発生した場合,受信側のポートは輻輳が発生したプライオリティにPAUSEフレームを送信する(図1)。このとき,PAUSEフレームが送信されたプライオリティ以外のトラフィックはそのまま送信可能である。つまり,通信の種別ごとに柔軟なフロー制御を行うことができることになる。

図1●PFC(priority-based flow control)ではプロトコルごとのフロー制御を実現<br>プロトコルごとに論理チャネルを分け,それぞれにキューを割り当てて制御する。
図1●PFC(priority-based flow control)ではプロトコルごとのフロー制御を実現
プロトコルごとに論理チャネルを分け,それぞれにキューを割り当てて制御する。
[画像のクリックで拡大表示]

ETSでデータ送出頻度をコントロール

 PFCの追加によってアプリケーション単位でのフロー制御が可能になるが,それだけではフロー制御全体の仕組みとしては十分とは言えない。PFCはデータ・フレームの送出順序を制御する仕組みしか持たないからだ。フロー間の優先順位や帯域ポリシーを参照できず,QoS(quality of service)を実現できないのである。

 必要なのは,PFCで規定されたプライオリティ間の「帯域使用ポリシー」を規定するポリシー管理の仕組み。これを実現するのがETSである。IEEE 802.1Qazとして標準化されている。

 ETSではPFCで定義された各プライオリティを『プライオリティグループ(PG)』に対応付け,このPGに対して使用帯域を定義する。図2は,0から7の8個のプライオリティを,下記のようなルールに従って使用する場合の例である。

  • プライオリティ0,1,2,5,6をPG 1に割り当て,LANトラフィック用途に40%の帯域幅を割り当てる
  • プライオリティ3,4をPG 2に割り当て,SANトラフィック用途に60%の帯域幅を割り当てる
  • プライオリティ7をPG 15に割り当てIPC(プロセス間通信)トラフィック用途とする
    ※PG 15は特殊なPGとして定義されており,帯域の割り当ては行わずPG15内のトラフィックは最優先で通信される
図2●ETS(enhanced transmission selection)ではポリシーに基づいてデータ送信頻度を制御する
図2●ETS(enhanced transmission selection)ではポリシーに基づいてデータ送信頻度を制御する
[画像のクリックで拡大表示]
望月 一平
ブロケード コミュニケーションズ システムズ
システムエンジニアリング本部システムエンジニア
日本ヒューレット・パッカードのプリセールスSE部門でストレージ技術者として各業界の大規模案件を経験。さらに災害対策やサーバー・コンソリデーション,ITインフラの全体最適化などのソリューションを提案する活動に従事。その後ブロケード コミュニケーションズ システムズに入社。現在は,パートナ担当エンジニアとしてデータ・センター・ネットワークの設計・導入に関する提案を支援している。