こんにちは!今日もパケットの鼓動を感じていますか?国内外のインフラ現場を渡り歩き、RFCの行間からにじみ出る開発者たちの情熱を糧に生きている、ネットワークプロトコル・スペシャリストの筆者です。
今日は、インフラエンジニアへの第一歩を踏み出したあなたに、ネットワークの世界で「絆」を結ぶ技術、LACP(Link Aggregation Control Protocol)についてお話ししようと思います。
「LANケーブルを2本繋いだら、速度も2倍になるのかな?」
「片方のケーブルが断線しても、もう片方があれば通信は止まらないよね?」
そんな素朴な疑問や理想を、魔法のように(実際には非常に論理的な手順で)実現してくれるのがこの技術です。難しい用語も出てきますが、身近な「郵便配達」や「お仕事の約束」に例えて、一歩ずつ紐解いていきましょう!
—
1. なぜ「束ねる」必要があるのか? 〜1本より2本の安心感〜
ネットワークの世界では、スイッチとスイッチ(あるいはサーバ)をLANケーブルで繋ぎますが、通常、1つの通信経路は1本の物理的な線に依存しています。
しかし、ここには2つの大きな悩みがありました。
1. 帯域の限界:1Gbpsのケーブル1本では、データが溢れて渋滞してしまう。
2. 単一障害点:もし誰かが足を引っ掛けてケーブルが抜けたり、ポートが故障したりしたら、その瞬間に通信が途絶えてしまう。
これを解決するのが「リンクアグリゲーション(IEEE 802.3ad)」という技術です。複数の物理的な線を論理的な「1本の太いパイプ」として扱うのです。
そして、その「束ねるための交渉役」を担うプロトコルこそが、今回の主役 LACP です。
—
2. LACPDU:スイッチ同士が交わす「秘密の名刺」
ただケーブルを2本挿しただけでは、スイッチたちは「あれ?ループ(無限回廊)が発生したかな?」と勘違いして通信を止めてしまうことがあります。
そこで、スイッチ同士が「ねえ、僕たちこの2本の線を1つのチームにしない?」と話し合う必要があります。この話し合いに使われるお手紙(パケット)が、LACPDU (LACP Data Unit) です。
郵便配達に例えると?
LACPDU は、いわば「ビジネス名刺」のようなものです。
- System ID: 「私はスイッチAという名前です」という自己紹介。
- Port ID: 「私はポート番号1番です」という窓口の紹介。
- Operational Key: 「私はこのグループに所属したいと思っています」という意思表示。
この名刺を 1秒間隔(あるいは30秒間隔)で定期的にお互い投げ合うことで、「隣のスイッチもやる気があるな!よし、束ねよう!」と確信を持つのです。
—
3. 「アクティブ」と「パッシブ」:性格の違いを理解しよう
LACPを設定する際、必ずと言っていいほど直面するのが「モード(Mode)」の選択です。これはスイッチの「性格」だと考えてください。
Active(アクティブ)モード:情熱的なリーダー
「自分から積極的に名刺(LACPDU)を配りまくる」モードです。相手が誰であれ、「LACPで束ねようぜ!」と声をかけ続けます。
Passive(パッシブ)モード:控えめな聞き手
「自分からは声をかけないけれど、相手から名刺をもらったら返事をする」モードです。
| 自分の設定 | 相手の設定 | 束縛の結果 |
| :— | :— | :— |
| Active | Active | 成功!(両方が積極的) |
| Active | Passive | 成功!(一方が誘い、一方が応じる) |
| Passive | Passive | 失敗…(お互い待ちぼうけ) |
実務では、確実に繋げるために両方を Active に設定することが多いですが、接続先の設定が変えられない場合などはこの組み合わせを意識することが非常に重要になります。
—
4. 実際に設定してみよう! (Cisco CLIの例)
それでは、具体的にスイッチのポート GigabitEthernet 0/1 と 0/2 を束ねる設定を見てみましょう。初心者の方でも分かりやすいよう、コメントを添えています。
# 特権モードへ移行
Switch# configure terminal
# 束ねたい2つのポートを同時に選択
Switch(config)# interface range GigabitEthernet 0/1 - 2
# LACPを有効にし、グループ番号「1」を割り当てる
# mode active にすることで、自分から積極的に交渉を開始します
Switch(config-if-range)# channel-group 1 mode active
# 設定が完了したら、論理的なインターフェース(親玉)の設定へ
Switch(config-if-range)# exit
Switch(config)# interface port-channel 1
# この「束ねたパイプ」全体をVLAN 10のアクセスポートにする例
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Switch(config-if)# no shutdown
このように設定すると、GigabitEthernet 0/1 と 0/2 は個別のポートとしての自我を抑え、Port-channel 1 という一つの大きな存在として振る舞い始めます。
—
5. 現場の知恵:パケットはどうやって振り分けられる?
ここで一つ、よくある勘違いを解いておきましょう。「2本束ねたら、1つの通信が2倍速くなる」わけではありません。
LACPは、パケットを振り分ける際に「ハッシュ(Hash)」という仕組みを使います。
例えば、「送信元IPアドレス」や「宛先MACアドレス」を見て、「Aさんの通信は1番の線、Bさんの通信は2番の線」というふうに振り分けます。
もし、特定のサーバ同士で1対1の通信しかしていない場合、どんなに本数を増やしても1本の線の帯域しか使えません。「たくさんの人が通るから、道幅を広げて渋滞をなくす」のがLACPの本質だと覚えておいてくださいね。
—
最後に:一歩ずつ、深淵へ
LACPは、一見するとただの「線の束ね」に見えます。しかし、その裏側では LACPDU という健気なパケットたちが、1秒間に一度、お互いの生存と意思を確認し合っています。この小さな積み重ねが、私たちが普段当たり前に使っている「止まらないネットワーク」を支えているのです。
もし設定がうまくいかない時は、まずは show etherchannel summary というコマンドを叩いてみてください。
# 状態を確認する魔法のコマンド
Switch# show etherchannel summary
# 出力結果に "P" (In Port-channel) と出ていれば成功!
# "I" (Standalone) だと、まだ一人ぼっちで寂しがっています。
エラーが出ても大丈夫。それはパケットたちが「何かが違うよ!」と教えてくれているサインです。ログを読み解き、プロトコルの気持ちに寄り添えば、必ず道は開けます。
ネットワークの世界へようこそ。この広大なパケットの海を、一緒に楽しんでいきましょう!
コメント