さよなら、僕が知っていたイーサネット
20年ほど前にイーサネットを学び始めた頃、イーサネットの2つの大きな特徴を教わりました。1つは、イーサネットでは複数のノードがケーブルを共有しているため、信号の衝突(コリジョン)が発生すること。もう1つはネットワーク構造には決してループとなる部分があってはならない、ということです。
しかしこの2つの特徴は、イーサネットの進化とともに消え去ろうとしています。イーサネットは僕の知っている昔の姿から大きく変わろうとしているのです。
コリジョンはなくなった
イーサネットの大きな特徴の1つが、CSMA/CD(キャリアセンスマルチプルアクセス/コリジョンデテクト)です。ネットワークに複数の機器が接続されている場合、同時に通信を開始するとネットワーク上で信号が衝突するコリジョンが発生、コリジョンの発生が検出された場合には、それぞれの機器はランダムな時間だけ待って再送する、という仕組みです。
これによりイーサネットはシンプルな仕組みで多数の機器の通信を実現しています。
この「それぞれの機器がランダムな時間だけ待つ」という仕組みが、なんだかイーサネットのゆるい仕組みを表しているようで好きでした。しかし最近、コリジョンはイーサネットから事実上なくなりました(と理解しています)。100BASE-Tが登場した頃から普及が始まったスイッチングハブと全二重通信によって、信号の衝突を起こさずに通信が可能になったためです。
ループ構造も許容するTrill、OpenFlow
もう1つのイーサネットの大きな特徴、あるいは制限といえるのが、ネットワークが決してループ構造になってはいけない、ということでした。
もしもループ構造があると、信号がそのループをぐるぐる回りはじめて障害を引き起こすためです。ネットワーク上にループを発見するとそれを遮断する、「スパニングツリー」という機能が多くのスイッチに備わっています。
ところが最近ではイーサネットでループ構造を許容する技術が相次いで登場しています。Trill(TRansparent Interconnection of Lots of Links)やOpenFlowなどです。
TrillはIETFによる標準で、ループ構造や複数の経路がある場合、スイッチが自動的に最適な経路を選択し、大きな帯域が必要な場合には複数の経路を統合してくれます。また、下記の図のように経路の一部に障害が発生した場合には迂回も行われます。
Trillはアグリゲーションやトポロジーの設定も不要で、対応のスイッチを導入するだけで簡単に実現できる点が大きな特徴です。Trill対応のスイッチは、ブロケードやシスコなどから登場してきています。
OpenFlowはスタンフォード大学を中心に開発された新しいネットワーク制御技術で、グーグル、マイクロソフト、Yahoo!、Facebookらが立ち上げたOpen Networking Foundationが推進しています。
OpenFlowでは、あらかじめネットワーク制御ルールを設定しておく必要がありますが、制御ルールさえ書いてしまえば複数の経路のアグリゲーションや負荷分散など、ループやメッシュ構造のネットワークを活用した通信を実現できます。
OpenFlow対応の機器はまだほとんど登場していませんが、今後の普及が期待されています。
ネットワークはメッシュ状の「ファブリックネットワーク」へ
調査会社のガートナーは、今後データセンター内のネットワークはメッシュ状の「ファブリックネットワーク」になっていくと予想しています。ループを避けたツリー構造のネットワークでは、多数のサーバの柔軟で効率的な運用をしていくことが難しいためです(追記:ガートナーの「ファブリックネットワーク」はデータセンター内に限らない概念だとご指摘をいただきました)。
メッシュ状のネットワークならば、通常時は複数経路のアグリゲーションが利用でき、障害時には冗長経路となる利点があります。TrillやOpenFlowといった新たなネットワーク制御技術は、こうしたファブリックネットワークをイーサネットで実現するために使われていくことでしょう。
あわせて読みたい
グーグル、Google Apps ScriptのGUIビルダー発表。統合開発環境のクラウド化が進む
≪前の記事
クラウド構築のための「OpenStack」、商用ディストリビューションをシトリックスが発表「Project Olympus」