リンクアグリゲーションとは
リンクアグリゲーションとは、複数の Ethernet ポートを論理的に 1 つに見せる L2 冗長化&負荷分散技術です。
L2 の冗長化技術と言えば昔はスパニングツリーでしたが、リンクアグリゲーションがスパニングツリーより優れている点は、冗長化だけでなく負荷分散も可能であり、利用できる帯域が増えることです。
最大 8 ポートまで同時に通信できるようになります。
元は cisco が独自に策定した "EtherChannel (イーサチャネル)" がベースで、IEEE 委員会が規格化しました。ポートチャネルとも言われますが同じ機能です。
リンクアグリゲーションに関する誤解集
リンクアグリゲーションの条件
複数のポートで LAG (Link Aggregation Group) というグループを組みます。
1 つの LAG で動作する Ethernet ポートは 8 本までです。
Static で使う場合は 1 つの LAG に 8 本まで設定できます。
LACP を使う場合は 16 本まで設定可能ですが、8 本が Active で、残りの 8 本は Standby (通信利用不可) になります。
Active の線が 1 本不通になった場合、Standby のうち 1 本が Active になります。
また、LAG 内では Ethernet 規格は揃っている必要があります。例えば {1000Base-T と 1000Base-LX}、{1000Base-T と 100Base-TX} といった組み合わせはできません。
リンクアグリゲーションの動作
送受信の動作は以下のようになります。
送信
Static の場合は LAG のうちリンクアップしているポートの中から、Dynamic (LACP) の場合は LAG のうち LACP で疎通が取れているポートの中から送信します。
どのポートを使うかは送信側の負荷分散方式のみに従います (受信側は関係ありません)。
取り得る負荷分散方式の種類は以下の組み合わせパターン全てで、サポートされる種類、デフォルト値はメーカによって異なります。
上記のうち 1 つだけ見る方式もありますし、2~6 個の組み合わせを見る方式もあります。見るときはハッシュを計算し、そのハッシュ値に応じてどの Ethernet ポートを使うかを決めます。
受信
受信はどのポートに来ても同じように扱います(相手の負荷分散方式にはこだわりません)。
論理的には 1 つのポートの扱いになりますので、リンクアグリゲーショングループ内の他のポートへのブロードキャストやフラッディングはされません。
また、同じ MAC アドレスからのフレームを毎回違うポートから受信しても、MAC アドレステーブルの更新は行われません。(1 つの論理ポートで受信するため)
LACPを使うメリット
LACP を使うメリットは以下 2 つです。
- 9 本以上で接続し、予備を持たせることができます。
- リンクダウンを伴わない障害を正しく検知し、適切なフレーム転送ができます。
2 つ目については例えば、メディアコンバータを介して Static Link Aggregation を組む場合、メディアコンバータの光ケーブル側だけ障害が起きた場合はスイッチとしてはリンクアップしたままで、利用できる経路と判断されるため、障害の経路にもフレームを投げ、そのフレームがメディアコンバータで破棄される、というケースが考えられます。
しかし LACP を遣えばそのようなケースでも経路上で LACP が通信できないことを把握し、障害と認識し、その経路を使わないようにすることができます。
LACPを使うデメリット
具体的に予想しうるデメリットはありませんが、バグなどの予期せぬ動作により NW 不具合を引き起こす例はあります。実際、RedHat では過去に何度か LACP による不具合が発生しています。
※ Linux 系では LinkAggregation ではなく Bonding (ボンディング)と呼びます。
ちなみに、Windows 系では Teaming (チーミング)と呼びます。
コメント
お世話になります。
Static の場合は LAG のうちリンクアップしているポートの中から、Dynamic (LACP) の場合は LAG のうち LACP で疎通が取れているポートの中から送信します。
の部分で、
リンクアップ、疎通 とは、
どのような違いがあるのでしょうか?
田中さん
コメントありがとうございます。
これは下の方の『LACPを使うメリット』で記載しています。
スタティックの場合は『メディアコンバータの光ケーブル側だけ障害が起きた場合はスイッチとしてはリンクアップしたままで、利用できる経路と判断されるため、障害の経路にもフレームを投げ、そのフレームがメディアコンバータで破棄される、というケースが考えられます。』