イーサネットの「宛先」を読み解く:MACアドレスのI/Gビットが教えてくれること
ネットワークの世界へようこそ!インフラエンジニアとして現場を歩いていると、普段何気なく流れているデータたちが、実はとても律儀に「自分は誰宛で、どんな役割を持っているのか」を自己申告しながら走っていることに気づかされます。
今回は、ネットワークの基礎中の基礎でありながら、トラブルシューティングの現場で「なぜか通信が届かない!」という時に真っ先に疑うべきMACアドレスの正体について、郵便配達の仕組みに例えながら紐解いていきましょう。
—
1. 宛先は「誰」なのか?MACアドレスの秘密
イーサネットフレームという、いわば「デジタルな手紙」を届ける際、宛先として必ず記載されているのが MACアドレス です。この MACアドレス は、世界中で唯一無二のIDですよね。
しかし、この住所、実はただの「場所」を示しているだけではありません。実は、「この手紙を誰に届けるべきか」という性質まで、たった1ビットの情報で教えてくれているんです。
それが、皆さんがネットワーク機器のコンフィグやパケットキャプチャで見かける I/Gビット(Individual/Group bit) です。
郵便配達で例えるなら?
- ユニキャスト(Individual): 特定の個人宛の手紙。「田中太郎様」宛ですね。
- ブロードキャスト(Broadcast): 町内会の回覧板。全員に配らなきゃいけません。
- マルチキャスト(Group): 特定の趣味のサークル内での連絡網。参加者全員に届くけれど、通りすがりの人には無関係です。
この「手紙の配り方」を、MACアドレスの最初のバイトの最初のビットで決めているんです。
—
2. I/Gビットの判定基準をマスターしよう
I/Gビット は、MACアドレスの先頭から数えて8番目のビット(0番目から数えると0ビット目)に存在します。
- I/Gビットが「0」の場合:
ユニキャスト(個別通信) - I/Gビットが「1」の場合:
マルチキャストまたはブロードキャスト(グループ通信)
なぜ「1」がグループなの?
「0」は「一人(Individual)」、「1」は「グループ(Group)」と覚えると非常に分かりやすいですね。
特に、全ビットが「1」の FF:FF:FF:FF:FF:FF は、すべてのビットが「1」で構成されているため、当然 I/Gビット も「1」です。だからこそ、スイッチはこれを見た瞬間に「これは全員宛だ!」と判断して、接続されている全ポートにコピーをばら撒く(フラッディングする)わけです。
—
3. 現場のエンジニアが知っておくべき「挙動」
スイッチ(L2スイッチ)がこの I/Gビット をどう扱っているか、実務的な視点で見てみましょう。
- ユニキャストの場合: スイッチは
MACアドレステーブルを参照します。「このMACアドレスはポート3にいたはずだ」と確認し、無駄なくポート3だけに届けます。効率的ですね。 - ブロードキャスト/マルチキャストの場合: 宛先不明とみなすか、あるいは「全員に配るべき」と判断し、送信元以外の全ポートへパケットを転送します。
ここで注意が必要なのが、マルチキャストの洪水(ストーム)です。設計ミスでマルチキャストがループし始めると、ネットワーク全体が「全員に送れ!」という命令でパンクしてしまいます。これがネットワークダウンのよくある原因の一つです。
—
4. 実践:LinuxでMACアドレスの種別を確認してみよう
手元のLinuxサーバーで、実際に自分のMACアドレスがどうなっているか、簡単なコマンドで覗いてみましょう。
# ネットワークインターフェースの情報を確認する
ip link show eth0
# 出力例:
# 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
# link/ether 00:0c:29:ab:cd:ef brd ff:ff:ff:ff:ff:ff
この 00:0c:29:ab:cd:ef の最初の 00 に注目してください。
16進数の 00 を2進数に直すと 00000000 です。一番右のビット(I/Gビット)が 0 なので、これは「ユニキャスト用のアドレス」であることが分かりますね!
もし、これが 01:00:5e:... から始まるマルチキャストアドレスであれば、一番右のビットは 1 になります。
—
最後に:ネットワークは「思いやり」でできている
ネットワークのプロトコルは、非常にシンプルで、かつ合理的です。たった1ビットのフラグで、スイッチという名の郵便局員が「これは特定の誰かへ」「これはみんなへ」と瞬時に判断できるように設計されています。
「なぜ通信が通らないのか」と悩んだときは、ぜひパケットの先頭にあるこの1ビットに想像を巡らせてみてください。
- 宛先は本当にユニキャストで届く場所にあるか?
- ブロードキャストが多すぎてネットワークが悲鳴を上げていないか?
こうした「パケットの目線」に立つことができれば、皆さんも立派なインフラエンジニアの第一歩を踏み出しています。また次回のコラムで、ネットワークの深淵を一緒にのぞいていきましょう!
コメント