スイッチングハブとは、データを宛先のコンピューターにだけ転送する集線装置です。ハブ(リピーティングハブ)はすべてのポートへ信号を転送するため「データが全員に届く」問題が残っていましたが、スイッチングハブは各機器固有の識別番号(MACアドレス)を学習し、宛先のポートだけへデータを届けます。これにより盗聴リスクが大幅に低下します。また各ポートが独立した通信路を持つため衝突が起きなくなり、CSMA/CDも不要になりました。現在のオフィスや家庭のLANで「ハブ」と呼ばれている機器のほとんどは、実際にはスイッチングハブです。以下では「スイッチ」と略して解説します。
はじめに
ハブの記事では、ハブ(リピーティングハブ)がバス型の「断線問題」を解決したことを紹介しました。しかし比較表のとおり、2つの問題がそのまま残っていました。「データが全員に届く(盗聴リスク)」と「衝突が起きる(速度低下)」です。この2つを解決した装置がスイッチです。
ハブで解決しなかった2つの課題
ハブはバス型の断線問題を解決しましたが、データの届き方と衝突という2つの問題は引き継いだままでした。それぞれ見ていきましょう。
データが全員に届く問題
ハブはどのポートへデータを届けるかを判断しません。1台からデータが届くと、ハブはすべてのポートへ転送します。AからCへのデータもBやDへ届き、各コンピューターが「自分宛かどうか」を判断して不要なら無視します。特殊なツール(パケットスニファ)を使えば、自分宛でない通信の内容を読み取ることができます。
衝突の問題
ハブに接続された全コンピューターが同じ衝突ドメイン(信号の衝突が起こりうる範囲)を共有しているため、2台が同時に送信すると衝突が発生します。接続台数が増えると衝突が頻発し、通信速度が低下します。
リピーターハブとスイッチングハブ ― 内部構造の違い
リピーターハブとスイッチングハブは内部構造が根本的に異なります。この違いが「全員へ届ける」と「宛先だけへ届ける」の差を生んでいます。
リピーターハブは純粋なハードウェア(電気回路)です。1つのポートに届いた信号を電気的に増幅して他の全ポートへ流す動作は、回路の設計そのものです。MACアドレスを読む機能も、記録するメモリも持っていないため、「全員へ転送すること以外できない」のは構造上の必然であり、ソフトウェアによる判断はありません。
スイッチングハブは内部に ASIC(エーシック) と呼ばれる専用チップとメモリを持っています。ASICは「Application Specific Integrated Circuit(特定用途向け集積回路)」の略で、特定の処理に特化して設計された電子部品です。届いたデータからMACアドレスを読み取り、記録し、転送先を判断するという処理を、ファームウェア(組み込みソフトウェア)とASICが協調して行います。
| リピーターハブ | スイッチングハブ | |
|---|---|---|
| 処理の主体 | 電気回路(ハードウェアのみ) | 専用チップ(ASIC)+ファームウェア |
| MACアドレスを読むか | 読まない | 読んで記録する |
| メモリ | なし | あり(MACアドレステーブルを保持) |
| 設定・管理機能 | なし | あり(機種による) |
MACアドレス ― 機器固有の識別番号
スイッチが「宛先のポートだけへ届ける」には、「どの機器がどのポートにつながっているか」を知る必要があります。そのために使うのが「MACアドレス(マックアドレス)」です。
MACアドレスとは、ネットワーク機器に出荷時から割り当てられた固有の識別番号です。パソコン・スマートフォン・プリンターなど、ネットワークに接続するすべての機器が1つずつ持っており、世界中で重複しないよう設計されています。実際の表記は AA:BB:CC:DD:EE:FF のような形で、アルファベットと数字を組み合わせた6つの組がコロンで区切られています。
| 英単語 | 意味 |
|---|---|
| MAC | Media Access Control; ネットワーク上で機器を識別・制御するための方式 |
| address | 住所・番地; 機器を特定するための識別情報 |
製品のシリアルナンバーに近いイメージです。同じ型番のパソコンが大量に製造されても1台1台に異なるシリアルナンバーが割り当てられるように、MACアドレスも機器ごとに異なります。
MACアドレステーブル ― スイッチの「住所録」
スイッチは内部に「MACアドレステーブル」と呼ばれる対応表を持っています。「ポート1番にはMACアドレスAAの機器がつながっている」という情報を一覧にしたものです。
| ポート | MACアドレス | 機器 |
|---|---|---|
| 1番 | AA:AA:AA:AA:AA:AA | コンピューターA |
| 2番 | BB:BB:BB:BB:BB:BB | コンピューターB |
| 3番 | CC:CC:CC:CC:CC:CC | コンピューターC |
この表があることで、スイッチは「MACアドレスBBへのデータはポート2番だけに送ればよい」と判断できます。
スイッチの学習 ― テーブルはどう作られるか
MACアドレステーブルは電源を入れた直後は空の状態です。スイッチは通信を観察しながら自動的にテーブルを埋めていきます。
引っ越したばかりのマンションの管理人をイメージするとわかりやすいです。最初、管理人(スイッチ)はどの部屋(ポート)に誰(コンピューター)がいるか把握していません。住人が外出するたびに「1号室の田中です」と名乗れば(データを送るとMACアドレスが含まれる)、管理人はノート(MACアドレステーブル)に「1号室 = 田中さん」と記録します。これを繰り返すうちに、管理人は全住人の部屋を把握できるようになります。
技術的には、コンピューターがデータを送信するとき、データの中に必ず送信元のMACアドレスが含まれます。スイッチは届いたデータから「このデータはポート1番から来た、MACアドレスはAAだ」と読み取り、テーブルに記録します。これを「MACアドレスの学習」と呼びます。
図:スイッチがMACアドレスを学習していく流れ
データの転送 ― 宛先のポートだけへ届ける
テーブルが埋まった後、スイッチは次のように動作します。
- コンピューターAがコンピューターCへデータを送る
- スイッチがデータを受け取り、宛先MACアドレスを確認
- テーブルを参照:「MACアドレスCCはポート3番」
- ポート3番(コンピューターC)だけへ転送
- B・D・Eへは転送しない
図:スイッチは宛先MACアドレスのポートにだけデータを転送する
BやDはデータを受け取らないため、内容を覗き見ることができません。
まだ学習していない宛先のデータが届いた場合は、スイッチは一時的にすべてのポートへデータを転送します。これを「フラッディング」と呼びます。管理人が「Xさんはどの部屋ですか?」と全住人に確認するイメージです。Xさんが返事をすれば(通信が発生すればMACアドレスが記録される)、次回からは直接届けられます。通常、通信が始まって数秒以内にテーブルが埋まるため、フラッディングが長続きすることはありません。
| 英単語 | 意味 |
|---|---|
| flooding | 洪水のように全体へ流す; 宛先が不明なとき全ポートへデータを転送すること |
衝突がなくなる ― 全二重通信とCSMA/CDの廃止
スイッチングハブで衝突がなくなる理由は2つあります。それぞれ見ていきましょう。
① 衝突ドメインの分離(ポート間の衝突をなくす)
スイッチでは各ポートが独立した通信路を持ちます。ポート1番とポート2番の通信が、ポート3番とポート4番の通信に干渉しません。異なるコンピューター同士が同時に送信しても、信号はそれぞれ別の経路を通るため衝突しません。
図:スイッチングハブでは複数の通信が同時並行で行われる
② 全二重通信(同じ接続上での送受信の衝突をなくす)
スイッチとコンピューターを結ぶ1本のケーブルの中には、「送信専用の電線ペア」と「受信専用の電線ペア」が物理的に分かれています。送信と受信が別々の経路を使うため、同時に行っても干渉しません。これが全二重通信(Full Duplex)です。
バス型で使われていた同軸ケーブル(10BASE5・10BASE2)は1本の芯線で送受信を共有していたため、全二重通信は物理的に不可能でした。ツイストペアケーブルへの移行が、全二重通信を実現する技術的な基盤でもありました。
この2つが組み合わさることで、スイッチングハブでは衝突がなくなります。CSMA/CDの記事で解説した「送信前に確認し、衝突したら待つ」というルールも不要になりました。
バス型・ハブ・スイッチングハブの比較
3世代を並べて整理します。バス型・ハブ・スイッチングハブの変遷は、3つの弱点を1つずつ解決してきた歴史でもあります。断線問題はハブが、盗聴リスクと衝突はスイッチングハブが解決しました。
| 比較項目 | バス型 | ハブ(スター型) | スイッチングハブ(スター型) |
|---|---|---|---|
| 断線の影響 | 全体停止 | 1台のみ停止 | 1台のみ停止 |
| データの届き方 | 全員に届く | 全員に届く | 宛先のみに届く |
| 衝突 | 発生(CSMA/CDで対処) | 発生(CSMA/CDで対処) | 発生しない |
| 通信方式 | 半二重 | 半二重 | 全二重 |
| セキュリティ | 盗聴リスク高 | 盗聴リスク高 | 盗聴困難 |
| 台数増加の影響 | 速度が大幅に低下 | 速度が大幅に低下 | 影響を受けにくい |
まとめ
スイッチングハブは、ハブが解決できなかった「データが全員に届く」問題と「衝突が起きる」問題を解決した集線装置です。MACアドレスを学習してデータを宛先のポートだけへ届けることで盗聴リスクを大幅に低下させ、ポートごとに独立した通信路を持つことで衝突をなくしCSMA/CDも不要にしました。バス型からハブ、そしてスイッチングハブへの変遷は、ネットワークの3つの弱点を段階的に解決してきた歴史です。現在「ハブ」と呼ばれて市販されている製品のほとんどはスイッチングハブであり、私たちが日常的に使うLANはこのスイッチングハブを中心に構成されています。
用語表
| 用語 | 意味 |
|---|---|
| スイッチングハブ(Switching Hub) | switching=切り替え; データの宛先に応じて転送先ポートを切り替える集線装置 |
| ASIC(Application Specific Integrated Circuit) | application=応用 / specific=特定の / integrated circuit=集積回路; 特定用途に特化した専用チップ。スイッチングハブでMACアドレスの処理を担う |
| ファームウェア(Firmware) | firm=固定された; ハードウェアに組み込まれたソフトウェア。スイッチングハブのMACアドレス学習や転送処理を制御する |
| MACアドレス(MAC Address) | MAC=Media Access Control / address=住所; 機器に出荷時から割り当てられた固有の識別番号 |
| MACアドレステーブル(MAC Address Table) | table=表; スイッチが持つ「ポート番号とMACアドレスの対応表」。住所録のようなもの |
| フラッディング(Flooding) | flooding=洪水のように広がる; 宛先が不明なとき全ポートへデータを転送すること |
| 全二重通信(Full Duplex) | full=完全な / duplex=双方向; 送信と受信を同時に行える通信方式 |
| 衝突ドメイン(Collision Domain) | collision=衝突 / domain=領域; 信号の衝突が起こりうる範囲。スイッチングハブではポートごとに分離される |