リンクアグリゲーション
リンクアグリゲーションとは、複数のリンクを仮想的に高速な1つのリンクとして扱えるようにする機能だ。たとえば、リンクアグリゲーションによって以下の図のように4本の1Gbpsのリンクを1本の4Gbpsのリンクとして扱うことができるようになる。
リンクアグリゲーションには、リンクをまとめる両端の機器でサポートしている必要がある。また、リンクをいくつまとめることができるかは機器に依存する。まとめるポートには共通の設定をしておかなければいけないという制約もある。
両端の機器でネゴシエーションして、リンクアグリゲーションを構成するための規格として「IEEE802.3ad LACP」(以下、LACP)がある。LACPを利用することでリンクアグリゲーションの設定を容易に行うことができる。
リンクアグリゲーションのメリット
このようなリンクアグリゲーションを利用するメリットは大きく次の2つだ。
- 手軽に高速なリンクを利用できる
- 耐障害性の向上
高速なリンクはコストも高い。イーサネットでは1Gbpsの次に高速な規格は10Gbpsである。1Gbpsから10Gbpsへアップグレードするには機器やケーブル配線のリプレースが必要となることが多く、以前よりはだいぶ安くなってきたもののまだかなりのコストがかかる。リンクアグリゲーションを利用すれば、空いているポートをまとめるだけで、手軽に高速なリンクを利用できるようになる。
また、まとめているリンクのうちどれかに障害が発生しても通信を継続させることができる。リンクアグリゲーションが利用できなくなるのは、まとめているリンクがすべて利用できなくなるときだ。そのため、リンクアグリゲーションを利用することでネットワークの耐障害性を高めることができる。
なお、リンクアグリゲーションはスイッチだけではなくサーバでも利用可能だ。サーバにリンクアグリゲーションに対応している複数のイーサネットポートを搭載することで、サーバの接続を高速化しつつ耐障害性を高めることができる。
リンクアグリゲーションの用途
上記のメリットから、リンクアグリゲーションを利用するのは、複数のスイッチを集約しているスイッチとのアップリンク接続やサーバ/NASとの接続だ。
複数のスイッチを集約しているスイッチへのアップリンクやサーバ/NASのリンクはトラフィックが集中する。トラフィックが集中する部分でリンクアグリゲーションを利用することで、ネットワークのパフォーマンスと耐障害性の向上を期待できる。
リンクアグリゲーションの負荷分散
実際にリンクアグリゲーションを利用する場合、注意点がある。それは、まとめたリンク上でイーサネットフレームがどのように負荷分散されるかだ。
ネットワーク上の通信は1つだけではなく連続したデータのやり取りになる。ある通信に関連する一連のデータのことをフローと呼んでいる。リンクアグリゲーションの負荷分散はこのフロー単位で行われる。つまり、同じフローのデータは同じリンクを通じて転送される。たとえば、あるサーバからファイルをダウンロードすると、そのデータはすべて同じリンクを通ることになる。
フロー単位の負荷分散なのでネットワーク上の通信が単一のフローだけだとすれば、リンクアグリゲーションを利用しても速くはならない。たくさんのフローが発生しているとフローが複数のリンクで分散されるので、リンクアグリゲーションによってネットワーク全体の通信は高速化できることになる。
スイッチがどのようにフローを識別して、転送するリンクを決定するかがリンクアグリゲーションの負荷分散のポイントだ。フローの識別に以下のような情報を利用する。
- MACアドレス
- IPアドレス
- TCP/UDPポート番号
- 入力インタフェース
上記のどの情報を利用してフローを識別し、転送するリンクを決定するかは、製品によって異なる。また、デフォルトのフローの識別情報も製品によって異なることがある。ネットワーク上のフローをしっかりと把握して、リンクアグリゲーションのスイッチで適切なフローの識別を行うようにしなければいけない。
ネットギアのスイッチ製品では、Smartスイッチ以上の製品カテゴリでリンクアグリゲーションをサポートしている。したがって、ネットギア製品においてリンクアグリゲーションを利用してネットワークを構築する場合は、Smartスイッチ以上の製品を選択することになる。また、スイッチではないがReadyNASシリーズ(ビジネス向け)もリンクアグリゲーションに対応している。
* * *
以上、今回は、ネットワークスイッチの4つの基本機能のうち、「イーサネットフレームワークの転送」と「リンクアグリゲーション」について解説した。次回は残りの「VLAN/タグVLAN」および「QoS」について触れていく予定だ。