【第8回】関係ないコンピュータにデータが届く問題を解決する仕組み ― スイッチングハブとMACアドレスをやさしく解説

結論

ケーブル共有方式では、データが関係ないコンピュータにも届いてしまう問題がありました。この問題は、スイッチングハブという機器が「どのコンピュータがどこにいるか」を覚えることで解決しています。スイッチングハブは、データを宛先のコンピュータにだけ届けることができます。


はじめに

前回のおさらい

前回は、ケーブル共有方式の欠点のひとつ「データの衝突(コリジョン)」を防ぐルール、CSMA/CD について学びました。

「送る前にケーブルを聞いて、ぶつかったらランダムに待ってやり直す」というシンプルなルールでしたね。

今回のテーマ

ところで、第6回でケーブル共有方式には3つの欠点があると紹介しました。

# 欠点 対応する回
データが衝突してしまう 第7回(CSMA/CD)
関係ないコンピュータにもデータが届いてしまう 今回(第8回)
ケーブルに障害が起きると全体がダウンする 次回(第9回)

今回は欠点②、「関係ないコンピュータにもデータが届いてしまう」問題を解決する仕組みを見ていきます。


本題:スイッチングハブがデータを「正しい相手だけに」届けるしくみ

まず、問題をおさらいしよう

ケーブル共有方式では、1本のケーブルに複数のコンピュータがつながっています。

誰かがデータを送ると、電気信号はケーブル全体に広がります。たとえ「AさんからBさんへ」送ったデータでも、CさんやDさんのコンピュータにも信号は届いてしまいます。

これは、廊下で人を呼ぶようなイメージです。

「Bさん、ちょっといいですか!」と廊下で叫ぶと、Bさんだけでなく、廊下にいる全員に声が届いてしまう。

CさんやDさんは「自分宛てではない」と判断して無視しますが、それでも一度は全員の耳に入ってしまいます。これはプライバシーの面でも、効率の面でも、あまりよくありません


解決策:スイッチングハブの登場

この問題を解決するのが、スイッチングハブ(略して「スイッチ」とも呼ばれます)という機器です。

廊下で叫ぶ代わりに、スイッチングハブは内線電話の交換機のようなイメージです。

AさんがBさんに電話をかけると、交換機はBさんの電話だけをつなぐ。CさんやDさんには何も届かない。

スイッチングハブも同じように、データを宛先のコンピュータにだけ転送することができます。

では、スイッチングハブはどうやって「Bさんのコンピュータがどこにあるか」を知っているのでしょう?


コンピュータの「住所」― MACアドレスとは

スイッチングハブが宛先を知るためのカギが、MACアドレスです。

まず、単語の意味から見てみましょう。

MAC(Media Access Control) を1語ずつ分解すると:

  • Media(メディア):「媒体・道」という意味です。ここでは、データが流れるケーブルなどの「通り道」を指します。
  • Access(アクセス):「使う・つながる」という意味です。(第7回でも登場しましたね)
  • Control(コントロール):「管理・制御する」という意味です。日本語でもそのまま使われていますね。

つまり MAC とは「データの通り道を管理・制御するための仕組み」を意味します。

そして Address(アドレス) は「住所」です。メールアドレスの「アドレス」と同じ意味ですね。

まとめると、MACアドレス とは「ネットワーク上でコンピュータを識別するための住所」です。


MACアドレスの特徴

MACアドレスには、大切な特徴があります。

世界中で重複しない、唯一の番号であることです。

コンピュータに搭載されている「ネットワークカード(LANカード)」という部品に、製造時にあらかじめ書き込まれています。

イメージとしては、人間のマイナンバーに近いです。日本国内で重複しないように割り当てられた個人番号と同じように、MACアドレスも世界中で重複しないように割り当てられています。

MACアドレスは 00:1A:2B:3C:4D:5E のように、英数字6組をコロンでつないだ形で表されます。


スイッチングハブが「誰がどこにいるか」を覚えるしくみ

スイッチングハブには複数の差し込み口(ポート)があり、各コンピュータがそれぞれのポートにケーブルでつながっています。

スイッチングハブは、データが届くたびに「どのポートから、どのMACアドレスのコンピュータがデータを送ってきたか」を自動的に記録していきます。

この記録表を MACアドレステーブル と呼びます。

たとえば、こんなイメージです。

ポート番号 MACアドレス(コンピュータ)
ポート1 AさんのPC
ポート2 BさんのPC
ポート3 CさんのPC

この表ができあがると、「BさんのPCへのデータ」が届いたとき、スイッチングハブはポート2にだけデータを転送します。AさんやCさんのポートには送りません。

廊下で叫ぶのではなく、Bさんの部屋にだけノックしに行くイメージです。


最初はどうやって覚えるの?

「でも最初は誰がどこにいるか知らないんじゃないの?」と思いますよね。

その通りです。スイッチングハブは最初、何も知りません。

最初にデータが届いたとき、宛先のコンピュータがどのポートにいるかまだわからない場合は、いったん全ポートに送ります(これをフラッディングといいます)。

しかし、やりとりを重ねるうちに「Aさんはポート1、Bさんはポート2…」とどんどん覚えていきます。覚えてしまえば、それ以降はピンポイントで届けられるようになります。


まとめ

  • ケーブル共有方式の欠点②「データが全員に届く」を解決するのが スイッチングハブ
  • コンピュータにはそれぞれ固有の住所 MACアドレス がある
  • スイッチングハブはやりとりを通じて MACアドレステーブル を作り、「誰がどのポートにいるか」を覚えていく
  • 覚えてしまえば、宛先のコンピュータにだけデータを届けられるようになる

これで、関係ないコンピュータにデータが届いてしまう問題が解決されました!

次回は、欠点③「ケーブルに障害が起きるとネットワーク全体がダウンする」問題をどう解決するかを見ていきます。