NICチーミング
コンピュータの複数の物理NICをまとめ、論理的なインタフェースとして利用する技術である。動作モードに応じて、障害時の切替えや通信の負荷分散を実現する。
イマシルちゃんの解説
サーバをLANにつなぐための通信部分をNICというよ。
NICやケーブルが一つしかないと、そこが故障したときにネットワークへ出られなくなるんだ。
NICチーミングは、複数のNICを一組にまとめて使う技術だよ。
たとえば普段使うNICと予備のNICを用意して、故障したら予備へ通信を切り替えられるの。
設定する方式によっては、複数のNICに通信を振り分けることもできるよ。
アプリケーション側で接続先を選び直すのではなく、OSなどが通信に使うNICを管理するんだ。
一つの故障でサーバが通信できなくなる事態を減らすための備えになるんだよ。
この解説はわかりやすかったですか?
より深い解説
定義
NICチーミング(Linuxではボンディングとも呼ぶ)は、OSやドライバの機能で、複数の物理NICを1つの論理的なインタフェースにまとめる技術である。まとめたインタフェースに1つのIPアドレスを割り当て、上位のアプリケーションからは1つのNICとして見える。
主な目的
| 目的 | 内容 |
|---|---|
| 耐障害性 | 1枚のNICやケーブル、接続先のスイッチのポートが故障しても、残りのNICで通信を続ける |
| 負荷分散・帯域の拡大 | 複数のNICに通信を振り分け、全体の帯域を広げる |
主な動作モード
| モード | 内容 | スイッチ側の設定 |
|---|---|---|
| アクティブ/スタンバイ(フォールトトレランス) | 通常は1枚だけで通信し、故障したら予備のNICに切り替える | 不要 |
| 送信の負荷分散 | 代表例では送信を複数のNICに振り分け、受信は1枚で行う。具体的な動作はモードによる | 不要 |
| リンクアグリゲーション(静的、LACP) | 送受信とも複数のNICに振り分ける | 必要(スイッチのポートも束ねる) |
複数のNICを同時に使う構成をアクティブ/アクティブという。ただし、同時使用できることと、一つの通信がすべてのNICを使えることは異なる。LACPなどでフローをハッシュにより振り分ける構成では、一つのフローは通常一つの物理リンクを使い、複数フローを合計した帯域を広げる。
LACPの組を別々の物理スイッチへ分散する場合は、相手側がスタックや対応する複数筐体のリンクアグリゲーションで一つの論理的な相手として振る舞う必要がある。スイッチに依存しない冗長化モードとは条件が異なるため、チーミング方式と接続先の構成を合わせる。
似た用語との区別
| 用語 | 内容 |
|---|---|
| NICチーミング | 複数のNICを束ね、1つのIPアドレスで使う |
| フロー制御(PAUSEフレーム) | 受信バッファがあふれそうなとき、相手に一時的に送信の停止を求める |
| オートネゴシエーション | 接続相手と、通信速度や全二重・半二重を自動で合わせる |
| 仮想NIC | ソフトウェアでNICを模倣し、物理NICの数より多くのインタフェースを使えるようにする(仮想マシンなど) |