こんにちは!ネットワークの迷宮へようこそ。インフラアーキテクトの視点から、今日も現場の「なぜ?」を解き明かしていきます。
さて、エンジニアの登竜門とも言える「スイッチングハブ」。皆さんは、この小さな箱が裏側でどれほど必死に頭を回転させているか、想像したことはありますか?
今日は、スイッチングの基本中の基本であり、時にネットワークのパフォーマンスを左右する「フラッディング(Flooding)」という現象について、郵便配達の仕組みに例えて紐解いていきましょう。
—
1. スイッチは「優秀な配達員」である
まず、スイッチングハブを「社内郵便の配達員」だと想像してください。この配達員は、社内のデスク(PCやサーバー)の場所を記録した「住所録(MACアドレステーブル)」を持っています。
- 正常な動作:
配達員が「Aさんに荷物を届けて」と頼まれる。住所録を見ると「Aさんは2番のデスク」と書いてある。よし、2番へ行こう!……これがスイッチの基本動作です。
しかし、もし「住所録に載っていない人」宛ての荷物が届いたらどうなるでしょうか? あるいは、「全員に回覧板を回して」と言われたら? ここで登場するのが「フラッディング」です。
2. フラッディングが起きる「2つの条件」
スイッチが「どこに送ればいいか分からない!」あるいは「全員に送るべきだ!」と判断したとき、彼らは受信したポート以外のすべてのポートへ、同じ荷物をコピーしてバラ撒きます。 これがフラッディング(洪水)の正体です。
具体的には、以下の2つのケースで発生します。
① 未知の宛先(Unknown Unicast)
「このMACアドレス、住所録に載ってないぞ……。とりあえず全員に配って、届いた本人に名乗り出てもらおう!」
スイッチは、宛先が不明なパケットを受信すると、すべてのポートへ転送します。これを「不明なユニキャストのフラッディング」と呼びます。
② ブロードキャスト・マルチキャスト
「これ、全員宛て(ブロードキャスト)だよ!」と言われた場合、スイッチは当然、全員にコピーを配ります。これはスイッチの仕様であり、ネットワークの秩序を守るための正しい動作です。
—
3. なぜフラッディングは起こるのか?
なぜスイッチは、わざわざ全員に配るような非効率なことをするのでしょうか? それは、「ネットワーク上の誰かが、自分宛ての荷物を見逃さないようにするため」です。
もし未知の宛先を無視して捨ててしまったら、新しい機器を接続した瞬間に通信ができなくなってしまいますよね。「フラッディング」は、ある意味でスイッチの「謙虚な学習プロセス」でもあるのです。
—
4. 現場で「フラッディング」を確認してみよう
実際にスイッチが何を考えているのか、Ciscoのスイッチを例に、住所録(MACアドレステーブル)の中身を覗いてみましょう。
# 現在のMACアドレステーブルを確認するコマンドです
Switch# show mac address-table dynamic
# 表示例:
# VLAN MACアドレス タイプ ポート
# ---- -------------- ---------- -----
# 1 aaaa.bbbb.cccc DYNAMIC Gi0/1
# 1 dddd.eeee.ffff DYNAMIC Gi0/2
このテーブルに宛先がないパケットが届くと、スイッチは先ほど説明した「フラッディング」を開始します。もし特定のポートで通信が異常に遅いと感じたら、このテーブルが溢れていないか、あるいはループが発生していないかを疑うのが、現場の第一歩です。
トラブルシューティングのヒント
もし、意図しないフラッディングがネットワーク全体に広がっている場合、それは「スイッチング・ループ」の可能性があります。
# インターフェースの統計情報を確認して、受信パケットが異常に増えていないかチェック!
Switch# show interfaces GigabitEthernet 0/1 | include input rate
# もし、通信していないはずなのに input rate が跳ね上がっていたら要注意です。
—
最後に:ネットワークを俯瞰する視点
フラッディングは、ネットワークが広大になればなるほど、トラフィックを圧迫する「諸刃の剣」となります。だからこそ、私たちはVLANでブロードキャストドメインを分割したり、STP(スパニングツリープロトコル)でループを防いだりして、この「洪水」をコントロールするのです。
皆さんが今繋いでいるそのLANケーブルの先でも、スイッチは黙々と住所録を更新し、必要な場所へパケットを運んでいます。次にスイッチのランプが点滅しているのを見かけたら、「今、どこにパケットを届けているのかな?」と、そのパケットの旅路を想像してみてください。
ネットワークを「理解する」ということは、パケットの「気持ち」に寄り添うこと。これからも一緒に、奥深いネットワークの世界を楽しんでいきましょう!
コメント