この記事でわかること
- コンピューターネットワークでは、電気信号を使ってデータをやり取りしている
- バス型ネットワークでは、電気信号が同時に流れると「衝突(コリジョン)」が起き、データが壊れる
- ケーブルに流れた電気は、接続されているすべてのコンピューターに届く
- 1本のケーブルへの依存は、どこか1か所が切れただけでネットワーク全体を止める
はじめに
前回の記事では、ネットワーク黎明期の接続方式「バス型ネットワーク」を取り上げました。おさらいとして、登場した用語をまとめておきます。
| 用語 | 意味 |
|---|---|
| バス型ネットワーク(Bus Topology) | 1本のケーブルを全パソコンで共有する接続方式 |
| トランシーバー(Transceiver) | ケーブルに差し込んで送受信をこなす接続機器 |
| ヴァンパイアタップ(Vampire Tap) | トランシーバーの別名。ケーブルに牙を立てるような見た目から |
「1本のケーブルをみんなで共有する」という発想は、現代の感覚とずいぶん違います。でも当時は、これが現実的な選択でした。
今回は、そのバス型ネットワークに潜んでいた課題を3つ取り上げます。
ネットワークの中を走るのは電気信号
本題に入る前に、ネットワーク内でデータがどのように運ばれているかを確認しておきましょう。
コンピューター同士がデータをやり取りするとき、ケーブルの中を走っているのは電気信号です。日常では「通信する」と言いますが、その正体は電気であり、これは今も昔も変わりません。
バス型ネットワークで使われていたケーブルは、構造的にはシンプルなものです。金属の棒にビニールを巻いたようなイメージで、その金属部分を電気が通ります。1台のコンピューターがケーブルに電気を流すと、その電気は瞬時にケーブル全体を伝わります。電気は金属内を一瞬でつたっていくため、接続されているすべてのコンピューターに、ほぼ同時に届きます。
また、当時のケーブルの両端には ターミネーター と呼ばれる部品が取り付けられていました。
Terminator(ターミネーター)
- Terminator:終わらせるもの、終わらせる人
ターミナル(Terminal)というと、駅の終点のことですね。つまり、「何かの終わり」を指す言葉です。 ターミネーター(Terminator)のように末尾に or を付けると、「何か終わらせる人やもの」ということになります。
電気がここにたどり着くと吸収されて消えます。つまり、電気の流れを終わらせるものです。電気が行き場を失って跳ね返り、ケーブル内を何度も往復し続けることを防ぐための仕組みです。
課題① 電気信号がぶつかり合う(衝突・コリジョン)
池に2つの石を同時に投げると、それぞれの波紋が広がり、やがてぶつかり合います。ぶつかった部分では波が混ざり合い、元の波がどちらだったか、見た目だけでは判別が不可能になります。電気信号でも、まったく同じことが起きます。
2台のコンピューターが同時に電気信号を送ると、ケーブルの中で信号どうしがぶつかって混ざり合い、元のデータが壊れてしまいます。これを衝突と呼びます。英語では**コリジョン(Collision)**です。
Collision(コリジョン)
- Collision:衝突すること、ぶつかり合うこと
衝突が起きると、受け取った側はどちらのデータが正しいか判断できません。データは届いたとしても、使い物にならない状態になります。
では、衝突が起きた後はどうなるのでしょうか。送り側のコンピューターは「うまく届かなかった」と判断して、同じデータを送り直します。しかし、他のコンピューターも同じタイミングで再送しようとするため、またぶつかる可能性が高くなる。衝突が衝突を呼ぶ悪循環です。
そのため、バス型ネットワークでは「誰かが通信しているあいだ、他の全員は待つ」というルールが必要になります。これについては別の記事で詳しく説明しますね!衝突はとてもやっかいで、コンピューターの台数が増えれば増えるほど、衝突が起きる頻度が上がり、待ち時間も増えてしまいます。
課題② 全員にデータが届いてしまう
バス型ネットワークでは、ケーブルに流れた電気は接続されているすべてのコンピューターに届いてしまいます。ケーブルが金属の棒一本なのと、電気は金属の中をくまなく駆け回る性質のため、これは仕方のないことです。
例えばあるパソコンからプリンター宛てに「これを印刷してください」という指示を含むデータを流すとします。その際、他のパソコンにもそのデータは届いてしまいますね。
「ん?このデータは何だ??俺は紙に印刷することなんてできないぞ?」とほかのパソコンは困惑してしまいます。
課題③ ケーブルが1か所切れたら、ネットワーク全体が止まる
バス型ネットワークの構造上、最も致命的な弱点がこれです。
すべてのコンピューターが1本のケーブルでつながっているため、そのケーブルがどこか1か所でも切れると、電気の通り道が断たれます。ネットワーク上のすべてのコンピューターが、一斉に通信できなくなる。
オフィスの床を這っているケーブルを、誰かが誤って踏んで断線させてしまった。それだけで、フロア全体のネットワークがダウンします。
やっかいなのは、「どこで切れたか」を見つけることの難しさです。バス型ネットワークのケーブルは1本の長いケーブルで、壁の中や床下を通っている部分もあります。目で見て確認できる場所ばかりではありません。断線の疑いがある区間を順番に調べていくしかなく、原因の特定だけで半日かかることもありました。
「1本のケーブルに全員が依存している」というシンプルな構造は、同時に「1か所の問題が全員に波及する」という構造でもありました。
まとめ
バス型ネットワークに潜んでいた3つの課題を整理します。
| 課題 | 内容 |
|---|---|
| 電気信号の衝突(コリジョン) | 同時に信号を送ると混ざり合い、データが壊れる |
| 全員へのデータ到達 | 特定の相手だけに送ることが出来なかった |
| ケーブル断による全断 | 1か所の断線でネットワーク全体が止まってしまう |
シンプルな構造だからこそ、シンプルな弱点がありました。
次回から、これらの課題がどのように解消されていったのかを順番に見ていきます。