ネットワークの接続形態あれこれ(前)

2015年4月21日(火)
榊 正憲(さかき まさのり)

前回までは、2台のコンピュータの間で、シリアル通信でデータを送るという話をしました。しかし2台の機器が通信できるだけでは、ネットワークとは言えません。今回から、ネットワークの要件である多数の機器、つまり3台以上の機器で相互に通信することを考えてみます。

接続の形態

2台の機器を接続するだけなら、1本のケーブルで直結するだけです。しかし、3台以上の機器を接続し、それらが相互に通信できるようにするにはどうすればいいのでしょうか? もちろん前述したシリアルポートでは、このような接続を実現することはできません。3台以上の機器を接続するためには、何らかの切替機を使ったり、あるいは切り替えが不要な別の通信方式を導入する必要があります。ここでは、多数の機器を接続するために交換機を使う方法、すべての機器をループ状の配線で接続する方法、1本の通信ケーブルを共用する方法について説明します。

交換機を使ったスター型接続

シリアルポートを使って3台以上の機器を接続する場合、シリアルポート切替機を使うことができます。一般に使われている切替機は、ユーザーがスイッチを操作して接続を切り替えますが、ネットワークを構築するにはもっと複雑なものが必要です。

まず、ネットワークの規模に応じた多数のポート(接続用のコネクタ)が必要です。そしてこれらのポートのうち、任意の2つを接続できなければなりません。もちろん、接続の切り替えを人間が行っては意味がありません。機器側からの要求に応じて、自動的に動作する必要があります。

このように多数の通信ポートを持ち、それらの間を任意に接続できる機器のことを「交換機」(スイッチ)と呼びます。そして、交換機を使って通信路を自由につなぎ換え、任意の機器の間を接続することを「回線交換」といいます(図1)。

交換機を使った多数の機器の接続

図1:交換機を使った多数の機器の接続

各機器は、通信ケーブルを交換機に接続します。そのため交換機を中心に、各機器が放射状に接続されるという配線の形状になります。このような接続形態を、スター型接続といいます(中央から光が放射されているイメージ)。

交換機を使って回線交換するという方法は、日常使っている電話のシステムと同じです。各契約者の元に置かれた電話機は、電話線を介して電話局の交換機に接続されています。そして電話機から交換機に適切な指示をする(相手番号をダイヤルする)ことで、交換機はその電話回線を目的の回線に接続し、2台の電話機の間の通信が確立し、通話できるようになります。

リング型接続

交換機を使わずに3台以上のコンピュータを接続する別の方法もあります。次の図2のように各機器の通信ポートの入力端子(RxD)と出力端子(TxD)の間を接続するとどうなるでしょうか? 各機器のポートのデータ送信端子TxDを、隣のコンピュータの受信端子RxDに接続します。隣のコンピュータのTxD端子は、さらにその隣のコンピュータに接続します。通常のシリアルポートの用法では、2台のコンピュータの間でデータの送受信端子を接続しますが、これを多数のコンピュータの間で輪になるように行うのです。

リング型接続

図2:リング型接続

4台のコンピュータを図のように接続した場合、各機器は自身の隣の機器にデータを送ることができます。AからはBにのみ、BからはCにのみ、CからはDにのみ、DからはAにのみ送れます。逆向きには送れませんし、直接つながっていない相手に送ることもできません。

ネットワークを構築するためには、任意の相手と通信ができなければなりません。例えばコンピュータAからコンピュータCにデータを送るにはどうすればいいでしょう? 答えは簡単で、コンピュータBが、Aから受信したデータをCに中継すれば、AからCへの送信が実現できます。つまりそれぞれのコンピュータは、データの送信と受信以外に中継という処理を行うことになります。

このようにすれば、任意の数のコンピュータを環状(リング状)に接続し、その中の2台が通信を行うことができます。このような接続をリング型接続といいます。

リング型接続で任意の2台の機器の間の通信を行うためには、接続している各機器が、受信データを隣宛てに中継できなければなりません。もし途中のコンピュータの電源が切れていたり、トラブルを起こしていると、中継がそこで途絶え、通信が行えなくなってしまいます。機器がダウンしている時は、受信端子と送信端子を直結してしまうような構造になっていれば、つまり機器の状態に関わらず、中継だけはできるようにしておけば、このような事態を防ぐことができます。

ケーブルを共有するバス型接続

交換機を用意したり、配線をわざわざリング状に接続しなくても済む、もっと簡単な方法もあります。各機器の通信インターフェイスの送信端子と受信端子を、すべてまとめて電気的に接続してしまうのです(図3)。

すべての送受信端子を接続

図3:すべての送受信端子を接続

シリアルポートではこのような接続はできませんが、送信端子、受信端子をすべてまとめて接続できるインターフェイスであれば、簡単に多数のコンピュータを接続することができます。

非常に乱暴な方法のように思えますが、通信は可能です。ある機器が送信したデータは、自身も含めて、ほかのすべての機器で受信されます。例えばコンピュータAが送信端子から送出したデータは、B、C、Dの受信端子で受信されます。もちろんAの受信端子でも受信されます。このような接続により、あるコンピュータが送信したデータを、別のコンピュータで受信できます。つまり、接続された任意のコンピュータの間で、データのやり取りが行えるということです。

この形の接続は、1本の共通母線(バス)となる長い通信ケーブルに、すべての機器の送受信端子を接続するという形になります。つまりすべての機器がこのケーブル(メディア、あるいは媒体)を共有するということです。このような接続形態はバス型接続と呼ばれます。

この方式の問題は、複数のコンピュータが同時にデータを送信すると、データの信号が通信ケーブル上で混じってしまい、データを正しく受け取れないという点です。データの衝突を防ぐためには、個々の機器に対してデータ送信の許可を与える調停メカニズムが必要になりますが、このような仕組みを導入するとシステムは複雑になってしまいます。そこで発想を変え、データの衝突を防ぐのではなく、運悪く衝突したらやり直すことにします。

衝突によるデータの再送信が起こると、その分、通信の効率は低下します。しかし、調停機構などが不要なため、ネットワークの構造はとても単純になります。現在広く使われているイーサネットは、現在では接続形状が変わっていますが、もともとはこのようなバス型接続のネットワークとして開発されたものです。

この記事のもとになった書籍
完全マスターしたい人のためのイーサネット&TCP/IP入門

榊 正憲 著
価格:2,000円+税
発売日:2013年12月19日発売
ISBN:978-4-8443-3511-5
発行:インプレスジャパン

完全マスターしたい人のためのイーサネット&TCP/IP入門

世の中で広く知られているイーサネットとTCP/IP、つまりインターネットや社内LANなどで、標準的に使われているネットワーク方式とプロトコルについて詳しく解説。 各項目については初歩的なレベルから解説し、中級レベルまで掘り下げています。 その過程で、仕組みや原理についてなるべく詳しく、そしてなぜそのような仕組みになっているのか、といったことを説明しています。 「これはこうなっている」という知識だけではなく、「これは何をするために、どのような原理でそうなっているのか」まで、きちんと体系立てて理解できる、ネットワーク初心者必携の1冊です。

Impress詳細ページへ

連載期間中、電子書籍版を20%オフでご提供します!

本連載の掲載に合わせて、本書籍の電子版を特別に20%オフでご提供します。興味のある方は是非ご検討ください。

クーポンコード:get3gerc

今すぐImpressで電子書籍を購入

※クリックすると購入ページに移動します。あらかじめクーポンコードをお控えください。
※クーポンコードの利用には、CLUB Impress会員の登録(無料)が必要です。
※リンク先で注文内容を確認後、「レジに進む」をクリックするとクーポン入力欄が表示されます。
※クーポンの利用期限は2015/04/30までです。

著者
榊 正憲(さかき まさのり)

電気通信大学卒業。プログラミング、システム管理などの仕事のあと、フリーランスで原稿翻訳、執筆などを行う。現在は、有限会社榊 製作所 代表取締役。著書に『復活!TK-80』『コンピュータの仕組み ハードウェア編(上・下)』、翻訳書に『Inside Visual C++ Version 5』(いずれも旧アスキー発行)、『Pthreadsプログラミング』(オライリー・ジャパン)などがある。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています