この記事でわかること
- ハブとスイッチングハブの違いがわかる
- なぜハブでは不要な通信が増えるのか理解できる
- スイッチングハブが必要な相手だけへ通信を届ける仕組みがわかる
- 通信の衝突が減る理由をイメージできる
- 現在のネットワークでスイッチングハブが主流になった理由がわかる
はじめに
前回の記事では、スター型という接続方法について紹介しました。
中央にあるハブとコンピューターをケーブルでつなぐ並び方がスター型でしたね。 バス型のように1本のケーブルを全員で共有しないため、ケーブルの断線がネットワーク全体へ影響しにくくなりました。
しかし、スター型に切り替えてもまだ解決できない問題が残っていましたね。
それは 「ハブを使うと、関係のない機器にも通信が流れてしまう」 という問題です。
この問題をどのように解決したのか、今回はその答えである スイッチングハブ を通して解説していきます。
ハブの問題点:全員に送ってしまう
ハブは、受け取った電気信号を接続されているすべての機器へ流します。
たとえば、パソコンAがパソコンBへデータを送りたい場合でも、Bだけでなく、CやDにも同じ信号が届きます。
各機器は届いた信号を確認して「これは自分宛てかどうか」を判断し、違えば無視します。 無視するだけなので一見問題がないように見えますが、接続台数が増えてくると話が変わります。
問題は2つあります。
問題① 「確認して無視する」処理が機器に積み重なる
自分宛て以外の信号が何度も届くたびに、機器はその処理をしなければなりません。 台数が増えるほど、この余計な処理がどんどん積み上がっていきます。
問題② 通信の衝突(コリジョン)が起きやすくなる
ケーブルを流れる信号が多くなるほど、複数の信号が同時に流れ込んで 衝突 が起きやすくなります。
衝突とは、複数の信号が同じタイミングでケーブルに流れ込み、互いにぶつかり合って信号が壊れてしまうことでしたね。 衝突が起きたらちょっとだけ待機して、再度データを送りなおすんでした(これは CSMA/CD という方式でした)。
ケーブルを流れる信号が多くなると、こんな状況が続きます。
- 送った信号が衝突した!少し待機して再送信
- またも衝突した!少し待機して再送信
- またまた衝突した!さらに待機して再送信
- ……(同じことの繰り返し)
- やっと送信に成功した……
接続台数が少ないうちは大きな問題になりませんが、機器が増えるにつれて無視できなくなってきます。 ネットワーク技術が世の中に広まるにつれ、 不要な信号を流さない仕組み が求められるようになりました。
そこで登場したのが 「スイッチングハブ」 です。
スイッチングハブとは
スイッチングハブは、必要な相手だけへデータを届けてくれる機器です。
Switch(スイッチ)は英語で「切り替える」という意味ですね。 つまり、通信する相手に合わせてデータの通り道を切り替えてくれる機器です。
見た目はハブとほとんど変わりません。しかし現在販売されているハブのほぼすべてがスイッチングハブになっており、あえて古いタイプのハブを選ぶ理由はほとんどなくなっています。
ハブとの違い
ハブは内部が金属のケーブルで繋がれているイメージです。 そのためハブは、受け取った電気信号を全員へ一斉に流します。
たとえば、パソコンAからパソコンDへデータを送る場合でも、B、C、D すべてに電気信号が届きます。
一方、スイッチングハブ内には小さなコンピューターが入っていて、そこにケーブルがつながっているイメージです。
コンピューターが電気信号の宛て先を確認し、 宛て先の機器だけ に信号を流します。
たとえば、パソコンAからパソコンDへデータを送る場合、スイッチングハブはDだけに信号を届けます。 BやCには送りません。
必要な相手へだけ通信を届けることで、ムダな通信を大幅に減らすことができます。
スイッチングハブは送り先を覚えている
スイッチングハブは、「どの機器がどのポート(差し込み口)につながっているか」 を覚えています。
たとえば、次のような状態です。
| ポート | 接続されている機器 |
|---|---|
| 1番 | パソコンA |
| 2番 | パソコンB |
| 3番 | パソコンC |
| 4番 | パソコンD |
この状態でAがBへデータを送ると、スイッチングハブは
「Bは2番につながっている」
と判断し、2番へだけデータを流します。全員へ送らないため、不要な通信が減ります。
スイッチングハブが宛て先を覚える仕組み
しかも、この情報は人が毎回設定する必要がありません。 スイッチングハブが通信を見ながら、自動的に学習していきます。
まず、スイッチングハブが宛て先情報を全く知らない状態はこうなります。
| ポート | 接続されている機器 |
|---|---|
| 1番 | ― |
| 2番 | ― |
| 3番 | ― |
| 4番 | ― |
この時、1番ポートからパソコンBあての信号を受け取ったとします。 信号には、宛て先だけでなく送り元のコンピューターの情報も含まれています。
つまり今回の信号からは以下の情報がわかります。
- 送り元:パソコンA
- 宛て先:パソコンB
この信号は1番ポートを通ってきたので、表をこのように埋められます。
| ポート | 接続されている機器 |
|---|---|
| 1番 | パソコンA |
| 2番 | ― |
| 3番 | ― |
| 4番 | ― |
さて、パソコンBに送りたくても宛て先ポートがまだわかりません。
その場合、全ポートに対して「パソコンBさんはどこですか?」とたずねる信号を流します。
パソコンB以外はその信号を無視しますが、パソコンBは「それは私です!」と応答する信号を流します。
この応答が2番ポートを通ってきたとすると、以下のように表を埋められます。
| ポート | 接続されている機器 |
|---|---|
| 1番 | パソコンA |
| 2番 | パソコンB |
| 3番 | ― |
| 4番 | ― |
このようにして、3番・4番ポートの情報もやがて埋まっていきます。
こうして学習・管理されるテーブルを MACアドレステーブル と呼びます。 スイッチングハブはこのテーブルを常に参照しながら「どのポートに信号を届けるか」を判断しています。 MACアドレスについては別の記事で詳しく解説しますが、「機器を識別するための番号」だとイメージしておいてください。
送信と受信で経路が別
さて、以下の場合を考えてみます。
- パソコンAがパソコンDにデータを送信
- スイッチングハブは4番ポートに電気信号を流す
- ちょうど同じタイミングでパソコンDからパソコンAあての信号が4番ポートを通過
この時、スイッチングハブと4番ポートの間で信号が衝突するでしょうか?
答えはNoです。
なぜなら、スイッチングハブ内では送信と受信で線が分かれているからです。
各ポートには、「スイッチングハブからパソコンへ送り出す線」と「パソコンからスイッチングハブへ受け取る線」が別々に用意されています。
イメージとしては、道路の「上り車線」と「下り車線」です。 上りと下りで別々の車線を走るため正面衝突が起きないのと同じ仕組みです。
スイッチングハブとパソコンの接続は、この「2車線の道路」のような構造になっています。 送信中であっても受信でき、受信中であっても送信できます。 こうした状態を 全二重通信(フルデュプレックス) と呼びます。聞きなれない言葉だと思いますが、後の記事で説明しますので今は聞き流してもらって大丈夫です。
この仕組みにより、同じポートで送受信が同時に発生しても、信号が衝突することはありません。
信号を流すタイミングを調整する
さて、今度は別のケースを考えてみます。
- パソコンAがパソコンDにデータを送信
- 同じタイミングでパソコンBもパソコンDにデータを送信
- スイッチングハブはAからの信号とBからの信号を、どちらもDに届けなければならない
この時、スイッチングハブは2つの信号を同時に4番ポートに流してしまうでしょうか? 同時に流してしまうと、4番ポートへ向かう道で信号が衝突してしまいますね。
答えはNoです。
スイッチングハブは、受け取った信号を バッファ(一時保存領域) に溜めておき、順番に送り出すという仕組みを持っています。
たとえば、AからDへの信号とBからDへの信号がほぼ同時に届いた場合、スイッチングハブはどちらかを先に送り、もう一方はバッファで一時保存します。最初の信号を送り終えてから、次の信号を送り出します。
コンビニのレジをイメージしてみてください。 複数のお客さんが同時にレジに来ても、全員が一度に会計するわけではなく、一人ずつ順番に並んで会計しますよね。 スイッチングハブのバッファは、この「レジ待ちの列」のような役割を担っています。
このようにしてスイッチングハブは、信号の「交通整理」を自動的に行います。
通信の衝突がなくなる
ここまでの話をまとめると、スイッチングハブには通信の衝突を防ぐ 2つの仕組み があります。
① 送受信の線が分かれている(全二重通信)
同じポートに対して、送信用と受信用の線が別々に存在します。 送信中でも受信でき、受信中でも送信できるため、同じポートでの送受信の衝突がなくなります。
② バッファで信号の順番を整える
複数の機器から同じ宛て先に信号が届いた場合でも、バッファで一時保存して順番に届けます。 「同時に流れ込む」という状況そのものを未然に防ぎます。
ハブを使っていた時代は、衝突(コリジョン)が起きるたびに再送信が必要でした。 接続台数が増えるほど衝突が頻発し、通信速度が著しく低下することもありました。 スイッチングハブはこの問題を根本から解消しています。
スイッチングハブが現在の主流になった理由
ではなぜ、スイッチングハブが現在のネットワークで主流になったのでしょうか。 ここまでの内容を整理すると、大きく4つの理由が見えてきます。
理由① ネットワーク全体のパフォーマンスが上がった
ハブを使うと、すべての信号がすべての機器に届いていました。 接続台数が増えるほどケーブルを流れる信号が増え、ネットワーク全体が混雑しました。 スイッチングハブは必要な相手にだけ信号を届けるため、無駄な通信がなくなり、全体的なパフォーマンスが大幅に改善しました。
理由② 再送信によるタイムロスがなくなった
ハブ環境では衝突(コリジョン)が日常的に発生し、そのたびに再送信が必要でした。 スイッチングハブは全二重通信とバッファによって衝突を防ぐため、再送信のロスがありません。
理由③ セキュリティが向上した
ハブでは自分宛て以外の通信も届いてしまうため、同じネットワーク内の通信を意図的に盗み見ることができてしまいます。 スイッチングハブは必要な相手にしか信号を届けないため、こうした盗聴リスクを大幅に減らすことができます。
理由④ コストが下がった
かつてスイッチングハブはハブより高価でしたが、技術の進歩とともに価格が下がりました。 現在では一般家庭向けの製品もほぼすべてがスイッチングハブとなっており、あえてハブを選ぶ理由はほとんどなくなっています。
ポートとパソコン間で衝突しないの?
ここまで「スイッチングハブ内では送受信の線が分かれている」と説明してきました。 しかし、鋭い方はこんな疑問を持つかもしれません。
「スイッチングハブ内の線が分かれていても、パソコンとポートをつなぐケーブル自体が送信と受信を分けていなければ、ケーブルの部分で衝突が起きてしまうのでは?」
実はその通りで、これはまったく正しい疑問です。
本連載ではここまで、同軸ケーブルのように送信と受信の線を区別しないイメージでケーブルの話をしてきました。 そのため、スイッチングハブ内で線が分かれていても、ケーブル側が対応していなければ意味がないのでは、という疑問は自然に出てきます。
実は現在のネットワークで主流となっているケーブル 「ツイストペアケーブル」 は、送信と受信を分けた構造になっています。 スイッチングハブとツイストペアケーブルを組み合わせることで、はじめてケーブル部分でも衝突が起きない仕組みが完成しています。
ツイストペアケーブルの詳しい構造は、次回の記事「ツイストペアケーブルとは?」 で解説します。 今回は「そういう疑問が出てくるな」と頭の片隅に置いておいていただければ大丈夫です。
まとめ
今回は スイッチングハブ について解説しました。要点を整理しておきましょう。
ハブとスイッチングハブの違い
| ハブ | スイッチングハブ | |
|---|---|---|
| 信号の届け方 | 全員に送る | 宛て先だけに送る |
| 宛て先の学習 | なし | 通信を通じて自動学習 |
| 学習情報の名称 | ― | MACアドレステーブル |
| 通信の衝突 | 起きやすい | ほぼ起きない |
| 通信モード | 半二重(衝突に注意が必要) | 全二重(同時送受信が可能) |
| 現在の採用状況 | ほぼ使われない | 主流 |
スイッチングハブの3つのポイント
-
宛て先だけに届ける どの機器がどのポートにつながっているかを自動学習(MACアドレステーブル)し、必要な相手にだけ信号を流す。
-
送受信の分離(全二重通信) 送信と受信で線が分かれているため、同じポートで同時に送受信しても衝突しない。
-
バッファで順番を整える 複数の信号が同時に来ても一時保存して順番に届けるため、信号同士が衝突しない。
これらの仕組みにより、スイッチングハブはハブが抱えていた「不要な通信が増える」「衝突が起きやすい」という問題を解決しました。現在のネットワークでスイッチングハブが主流になっているのは、この圧倒的な改善効果があったからです。
次回は、スイッチングハブと組み合わせることで衝突を完全に防ぐカギとなる ツイストペアケーブル について解説します。