結論
電気信号の衝突問題に悩まされてきたリピーターハブの限界を乗り越えたのがスイッチングハブです。届いたデータの宛先を読み取り、必要なポートにだけ信号を送ることで、衝突をほぼゼロに抑えることができます。その賢い振り分けを支える鍵がMACアドレスです。
はじめに
前回までのおさらい
第12回から3回にわたって、電気信号が抱える3つの障害とその対策を見てきました。
- 減衰 → リピーター・リピーターハブで信号を増幅(第13回)
- 干渉・ノイズ → ツイストペアケーブル・シールドケーブルで打ち消す・遮断する(第14回)
- 衝突 → ?(今回!)
そして第13回では、リピーターハブの限界も見えてきました。「接続されたすべてのポートに信号を流す」という動作が、衝突を生む原因だったのです。
今回のテーマ
今回はその衝突問題を根本から解決したスイッチングハブの仕組みに迫ります。なぜスイッチングハブは衝突を防げるのか、その答えはデータの「宛先」を読み取るという動作にあります。
衝突のおさらい
リピーターハブに複数台のコンピューターをつなぐと、あるポートに届いた信号はすべてのポートに流れます。そのため、2台以上が同時にデータを送ると、信号がケーブルの中でぶつかり合ってしまいます。これが**衝突(Collision・コリジョン)**です。
イメージ:一本道での正面衝突 右からも左からも同時に車が走ってきたら、道の真ん中でぶつかります。ぶつかった信号はどちらも読めないぐちゃぐちゃな状態になり、データは失われてしまいます。
CSMA/CDはこの衝突を「検出して送り直す」しくみでしたが、根本的な解決ではありませんでした。スイッチングハブは「そもそも衝突させない」というアプローチで、この問題に向き合います。
スイッチングハブのしくみ
「全員に流す」から「宛先だけに届ける」へ
スイッチングハブの最大の特徴は、届いたデータの宛先を確認してから、その相手のポートにだけ信号を送るという動作です。
イメージ:郵便局の仕分け作業 郵便局では届いた郵便物を、宛先の住所を見て適切な配達先に仕分けします。「全員の郵便受けに同じものを投げ込む」ことはしません。スイッチングハブも同じで、受け取ったデータの宛先を見て、必要なポートにだけ届けます。
これにより、AさんがBさんにデータを送っているあいだ、CさんとDさんのポートには信号が流れません。CさんとDさんは、同時に別のやり取りをすることができます。衝突が起きるどころか、複数の通信が同時進行できるようになったのです。
宛先を知るための「住所」―― MACアドレス
では、スイッチングハブはどうやって「どのポートにいる相手宛てか」を判断するのでしょうか。そのために使われるのが**MACアドレス(MAC Address)**です。
MACとは「Media Access Control(メディア アクセス コントロール)」の略で、「媒体(ケーブルなど)へのアクセスを制御する」という意味です。
MACアドレスは、ネットワーク機器のひとつひとつに割り当てられた世界で唯一の識別番号です。人間でいえば「個人番号(マイナンバー)」のようなものです。コンピューターのネットワークカード(LAN接続用のパーツ)には、製造時にMACアドレスが書き込まれており、原則として変更されません。
MACアドレスは、次のような形式の48桁の16進数(じゅうろくしんすう)で表されます。
00:1A:2B:3C:4D:5E
MACアドレステーブル ― 「誰がどのポートにいるか」の名簿
スイッチングハブは、接続されている機器のMACアドレスとポート番号の対応を**MACアドレステーブル(MAC Address Table)**という表として内部に記録しています。
| ポート番号 | MACアドレス | 機器 |
|---|---|---|
| ポート1 | 00:1A:2B:3C:4D:5E | Aさんのパソコン |
| ポート2 | 00:1A:2B:3C:4D:6F | Bさんのパソコン |
| ポート3 | 00:1A:2B:3C:4D:7G | Cさんのパソコン |
データが届いたとき、スイッチングハブはこの表を参照して「この宛先MACアドレスはポート2にいるBさんだな」と判断し、ポート2にだけ信号を流します。
スイッチングハブは自分で学習する
MACアドレステーブルは、最初から完成しているわけではありません。スイッチングハブはデータが届くたびに、送り元のMACアドレスとポート番号を自動的に記録・学習していきます。これを**自動学習(Auto-Learning)**と呼びます。
まだ学習できていない宛先へのデータは、いったんすべてのポートに流しますが、やり取りを重ねるうちにテーブルが充実し、次第に的確な振り分けができるようになります。
リピーターハブとスイッチングハブの違い
| リピーターハブ | スイッチングハブ | |
|---|---|---|
| 信号の送り先 | 接続されたすべてのポート | 宛先のポートのみ |
| 衝突 | 起きやすい | ほぼ起きない |
| 同時通信 | できない | できる |
| 宛先の判断 | しない | MACアドレスで判断 |
| 賢さ | シンプル | かしこい |
まとめ
- スイッチングハブは、データの宛先(MACアドレス)を見て、必要なポートにだけ信号を届ける
- これにより、衝突をほぼゼロにし、複数の通信を同時進行できるようになった
- スイッチングハブは接続機器のMACアドレスとポートの対応を自動学習して蓄積していく
- リピーターハブとスイッチングハブの本質的な違いは「宛先を見て届けるかどうか」にある
これで電気信号の3つの障害とその対策がひととおり揃いました。次回からは、より大きなネットワークのしくみへと話を広げていきます!