TRILLはイーサネットで経路を冗長化する技術である。これまで一般的だった冗長化手法STP(Spanning Tree Protocol)とは違って、FCoE(Fibre Channel over Ethernet)やサーバーの仮想化と相性が良い。STPの欠点を補い、高速化も期待できる。
TRILLの仕様は、インターネット技術を標準化する業界団体のIETFで策定している。ベースとなる技術の仕様はほぼ決まっているが、正式には2011年春ごろに標準化される見込みである。
最大の特徴は、冗長化と高速化を同時に実現できることだ(図1)。TRILLでは、経路が複数あるときは最短経路を使って、経路の長さが同じときは一定のアルゴリズムで経路を選択して負荷分散を行う。このため、使わない経路がなくなり、全体として高速化できるとしている。STPの場合、経路の一つ以上のポートがブロッキングポートとして働き、そこにつながる経路にデータは流れない。
次に、対応機器同士が設定情報を相互に交換する仕組みをサポートしている。DCBXと呼び、TRILL対応のスイッチで構成されたネットワークに新たにスイッチを追加すると、自動で設定情報を機器同士が交換して稼働できる。この点も、あらかじめ設定が必要になるSTPとは違うところだ。
そして、FCoEと相性が良い。FCoEを使ったストレージにつながるスイッチで経路に障害が発生したケースを見てみよう。TRILLでは、経路の違いを吸収する仕様になっており、サーバー側に変更を加える必要がない。STPでは、FCoEの経路が変更されると、サーバーから別のストレージにつながっているように見えるので設定の変更が必要になる。
TRILL を使うと、サーバーの仮想化の集積度アップにもメリットがあるとされている。仮想マシンは通常、ソフト的に作られた仮想ネットワーク・インタフェース・カード(NIC)を認識して、仮想化ソフト本体(ハイパーバイザー)が作り出すスイッチ(仮想スイッチ)につながる。そして、仮想スイッチは物理NICを経由して外部のネットワークにつながるという仕組みだ。
この点TRILLでは、物理NICがPCI-SIGで標準化されたSingle Root I/O Virtualization技術に対応し、仮想化ソフトがIEEE802.1Qbgに対応していれば、仮想マシンがハイパーバイザーを経由せずに直接物理NICを通じて外部のネットワークと通信できる(図2)。ハイパーバイザーを経由するネットワークのオーバーヘッドが減ることで、サーバーの仮想化の集積度を向上できるわけだ。