FCoEプロトコル速解

連載:FCoEプロトコル速解(2)

FCoEを支える拡張イーサネットの概要


ブロケードコミュニケーションズシステムズ株式会社
小今井 裕
2008/12/18

FCoEと呼ばれる技術が注目を集めるようになってきた、これは現在、独立したストレージ・エリア・ネットワーク(SAN)上でストレージへのアクセスのために利用されているファイバチャネル・プロトコルを、LANで広く使われているイーサネット上で動かすというものだ。今回はFCoEを実現するための重要な前提条件となる新たなイーサネット仕様について紹介する

 FCoEのカギは拡張イーサネットのCEE

- PR -

 前回はCEE/FCoEが必要とされている背景とともに、FCoEのプロトコルとしての特長を含め、FCoEが新しい10GbpsイーサネットであるCEEの上位レイヤに既存のファイバチャネルプロトコルをマッピングした技術であること、さらには現在SANで使用されているファイバチャネルがどのようなプロトコルであるかについて説明した。

 現在キーワード的に注目されているのはCEEよりFCoEであるが、統合ネットワークを実現するための鍵を握っているのはむしろ、新たに拡張されたイーサネット「CEE」である。今回は、なぜ既存のイーサネットではなく、ネットワーク統合の前提として新しいイーサネット「CEE」が必要とされているのかに焦点を当てて説明していく。

 前回の繰り返しになるが、ファイバチャネルの重要な特性は、フレームドロップを「しない」前提で、フレームの順序配信を前提とした高いデータ整合性、低遅延、高速・大容量データ転送が可能なことである。ファイバチャネルのフロー制御には、BB Credit (Buffer-to-Buffer Credit)という仕組みが使用されている。リンク確立時に、送信ポート・受信ポート間でネゴシエーションを行い、お互いが持ちうるバッファサイズ(1バッファーは1フレーム分)のどちらか小さい方のバッファサイズでリンクを確立する。これにより送信側は受信側が受信できるフレーム数を認識しているため、受信側で受信できない量のフレームを送信することはない。これにより、「フレームロスしない」データ転送を実現している(図1)。

図1 ファイバチャネルBB_Creditによるフロー制御

 一方、既存のイーサネットのパケット転送の仕組みでは、いままでファイバチャネルで実現していたように、データ転送を保証することができない。また、CEEではフレームドロップを想定「しない」プロトコルを含む、複数のプロトコルを1つの物理リンクに通すことを想定している。この2つの理由から、既存10Gbpsイーサネットに新たな要件が必要とされている。 CEEに対応するために必要な、新たなプロトコルは、IEEE 802.1の「The Data Center Bridging (DCB) Task Group」とIETF により標準化が進められている。DCBではファイバチャネルやInfiniBandなど、現状データセンタ内のイーサネットと異なり高信頼、低遅延が必要とされるリンクレイヤプロトコルのためのIEEE 802.1に対する拡張を進めている。

 「CEE対応」するためには下記の標準に準拠する必要があるが、これらのプロトコルはまだ標準化作業中である。

 Congestion Notification (CN) - IEEE 802.1 [802.1Qau]
 Priority-based Flow Control (PFC) - IEEE 802.1 [802.1Qbb] 
 Enhanced Transmission Selection (ETS) - IEEE 802.1 [802.1Qaz] 
 Data Center Bridging eXchange (DCBX) protocol - IEEE 802.1
 TRansparent Interconnection of Lots of Links (TRILL) in the IETF

 CEEを支える5つの主な標準

Congestion Notification (CN)

 CNではCongestion Point(受信ポート)が受信キューをモニタし、輻輳をReaction Point(送信ポート)に通知する。通知を受けたReaction Pointはトラフィックシェーピングを行うことで、フレームロスが発生しないように転送量を調整する。CNの実装として、Backward Congestion Notification(BCN)、Quantized Congestion Notification(QCN)、Explicit Congestion Notification(ECN)という3つの方式がある。

 CNのフレームとフレームヘッダは、CNを理解できるスイッチとエンドノードで構成されたドメイン内でのみ処理され、既存のエンドノードや将来の異なる技術を使用したシステムとの相互接続性や互換性の問題が生じないような実装が目指されている。TCPにはネイティブな輻輳(ふくそう)管理の仕組みがあるが、CEEのCNではTCPよりさらに下位の層で輻輳管理が行われ、より効率的な輻輳制御ができるので、上位のプロトコルとしてTCPを使用する場合にもメリットがある。

Priority-based Flow Control (PFC)

 CEEが使用される環境では、遅延の影響を受けやすいIPC(プロセス間通信)や、フレームロスの影響を受けやすいストレージなど、ネットワークとして必要とされる特性が異なるプロトコルが同一物理リンク上を流れることが想定される。輻輳によるフレームロスをなくすためには、リンクレベルによるフロー制御が必須となるが、現在の802.3xによるPAUSEでは、仮に性質の異なるトラフィックが同一物理リンク上を流れていた場合、すべてのトラフィックが止められてしまう。

図2 Priority-based Flow Control(PFC)の動き

 PFCはCNを補完する機能であり、輻輳によるフレームロスを回避するために、同一物理リンクを通るトラフィックに対して、トラフィック毎にプライオリティ(優先度)を与え、プライオリティ毎にリンクを論理的に分離する。これにより、特定のプライオリティに対してのみPAUSEを送信することができ、トラフィック毎のフロー制御が可能となる。実際のプライオリティはVLANタグ(802.1Q tag )内の3-bitを使用して8つのプライオリティで定義されており、プライオリティ毎にPFCを有効・無効に設定することもできる。また、PFCはホップ単位で機能するため、経路上の他のリンクに自動的に転送されることはない。

Enhanced Transmission Selection (ETS)

 ETSは各トラフィックに対して定義されたプライオリティをもとに、帯域制御を可能にするプロトコルである。ETSでは、まず各プライオリティを、プライオリティ・グループ(PG)に割り当てる。現状PGは8つのグループを持つことが可能であるが、必要とされるネットワーク特性が似たようなトラフィックに割り当てられている複数のプライオリティであれば、それら複数のプライオリティを1つのPGに割り当てることも可能である。帯域制御を受けないプライオリティが使用する残りの帯域を各PGで共有するが、各PGに対しての割り当てはあらかじめパーセンテージ(%)で定義される。また、仮にあるPGに割り当てられた帯域幅が使用されていない場合には、他のPGが未使用の帯域を使用でき、複数のトラフィックで共有されたリンクを効率的に使用できる仕組みになっている。

図3 Enhanced Transmission Selection(ETS)の動き

上記のCN、PFC、ETSについては802.1Qとの互換性や混在が可能なように標準化が進められている。

 
1/2

Index
FCoEを支える拡張イーサネットの概要
Page1
FCoEのカギは拡張イーサネットのCEE
CEEを支える5つの主な標準
  Congestion Notification (CN)
  Priority-based Flow Control (PFC)
  Enhanced Transmission Selection (ETS)
  Page2
  Data Center Bridging eXchange (DCBX) protocol
  TRansparent Interconnection of Lots of Links (TRILL)
CEEの機能とファイバチャネルの比較

Server & Storage フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Server & Storage 記事ランキング

本日 月間