リンクアグリゲーションとは

Link = 通信経路

Aggregation = 束ねる

リンクアグリゲーションとは、スイッチングハブ同士を結ぶ複数の物理回線(ケーブル)をまとめて 1つの論理的な回線 として扱う技術です。Link Aggregation Group(LAG)と呼ばれ、IEEE802.3ad(現在は IEEE802.1AX)で標準化されています。

規格では16本までのリンクを束ねることが出来ますが、常に使えるのは8本までです。残りは待機状態となります。ただし、何本までを束ねることができるかは、機器によって異なります。

リンクアグリゲーションは回線を束ねる

帯域幅の拡張と冗長化

帯域幅の拡張

単位時間に送ることができるデータ量のことを帯域幅といいます。単位はbps(bit per second)です。

帯域幅 = 通信可能なデータ量

1本の通信回線で送れるデータ量は帯域幅までとなります。帯域幅が広ければ一度に大量のデータを送ることが可能です。これに対して、通信回線を2本まとめれば2倍のデータを送ることができ、論理的な帯域幅は「リンク数 × 回線速度」になります。

1Gbpsの通信回線を2本束ねると2Gbpsになる

ただし、1つの通信は1本の通信回線上で転送されます。1つの通信で送るデータがどれだけ大きくても、単位時間に送れるデータ量は通信回線1本分の帯域幅までとなります。

1つの通信で複数の通信回線をまとめて利用することはできない!

冗長化

リンクアグリゲーションでは、一部の通信回線に障害が発生しても、自動的に残りのリンクが使われます

1Gbpsの通信回線が2本中1本が切れても、1Gbpsで通信が継続される

回線障害があっても通信が止まらないという点が、サーバとの接続やコアネットワークで必須とされる理由です。

リンクアグリゲーションの目的は「帯域幅の拡張」と「冗長化」

静的LAGとLACP

静的LAG

静的LAGとは、ネットワーク管理者が手動設定で束ねるポートを指定する方式です。

静的LAGで通信エラーが発生する例

リンクアグリゲーションで複数の光通信回線を束ねて利用する場合、片側だけで障害が発生するケースに注意が必要です。

例えば以下のような構成を考えます。

  • スイッチングハブAとBを2本の光リンクで接続

このとき、「スイッチングハブAのケーブル2側の光送信部」が故障した場合、スイッチングハブAは障害を検出できますが、スイッチングハブB側は正常と誤認する可能性があります。その結果、スイッチングハブBはケーブル2へパケットを振り分けますが、実際には届かないという障害が発生します。

静的LAGではこのような「一方向障害」や「片側だけの障害」を検知することができません。

片側だけのリンク障害の場合は検知できずに「束ねたまま」動こうとするため、通信エラーが発生する

LACPとは、IEEE802.3adに基づく 制御プロトコルで、スイッチングハブ間で「どのポートをリンクアグリゲーションに含めるか」を自動的に設定します。また、定期的に制御パケット(LACPDU)を交換してリンクの状態を確認するため、静的LAGで発生するような障害時にも通信回線を除外でき、安定した通信を維持できます。

静的LAGで検知できない障害(片側障害など)も検出でき、残りの通信回線で通信を継続できる

フレーム分散の仕組み

リンクアグリゲーションでは、複数の通信回線の中から「どの回線を使うか」を決めています。一般的にはハッシュ関数を使ってハッシュ値を計算して決定します。

フレーム分散のイメージ

IPアドレス、MACアドレス、TCP/UDPポート番号などを入力値としてハッシュ値を求めリンクを選択します。

機器によって「宛先IPアドレスのみ」または「送信元IPアドレス+宛先IPアドレス」を利用したり違う場合があるので問題文でよく確認する必要があります。

均等に分散出来ないケース

フレーム分散は、複数の通信回線に通信を振り分けて帯域幅を有効活用する仕組みです。しかし、通信の条件によっては利用する通信回線が偏り、分散効果が十分に発揮されない場合があります。以下のようなケースが典型的な例です。

宛先IPアドレスが1つしかない場合(例:1台のサーバへアクセスが集中)

宛先IPアドレスで振り分けをすると、すべての通信が同じ通信回線に流れてしまい、他の通信回線が利用されません。

フロー数が少ない場合

通信数(宛先IP・送信元IPなどの組み合わせ)が少ないと、ハッシュ関数の入力パターンが限られるため、結果が偏り、特定の通信回線に集中してしまうことがあります。

特定のアドレスへの通信が集中したり、通信数が少ないと分散が偏ってしまう