【ネットワーク】データの衝突防止技術(CSMA/CD方式、トークンパッシング方式、TDMA方式)について

みなさん、こんにちは!

ブリュの公式ブログ.netにお越しいただきまして、ありがとうございます。

このサイトでは、ITについて特化したサイトを運営しています。

今回は、ネットワーク分野におけるデータの衝突防止技術である、

  • CSMA/CD方式
  • トークンパッシング方式
  • TDMA方式

について紹介します。

同時に複数の端末からデータの送信が起こると、伝送路中でデータが衝突し、破損します。

そのため、データの衝突の回避、あるいはデータの破損の検知から再送をおこなう技術が採用されています。

スポンサーリンク

データ衝突防止技術の分類

データの衝突防止技術は、最終的「破損のないデータを正確に送信すること」が目的です。

その条件を満たすには、

  • データの衝突を前提とし再送する技術
  • データの衝突を防止する技術

が考えられるでしょう。

前者は、データの衝突による破損は生じることを前提としており、何らかの方法で衝突を検知した後に再度送信する技術です。

後者はデータの衝突そのものを防ぐ技術で、データの衝突を防ぐために、伝送路の使用に関して、一定の秩序を設けています。

参考に、データの衝突が多発すると、ネットワークのスループットが一気に低下します。

そのため、通常はスイッチングハブなどのMACアドレス学習機能によりコリジョンドメインに分離し、不要なデータが関係のない伝送路に流れないように制御しています。

詳しくは、リピーターハブ/ブリッジ・スイッチングハブ/ルーターの違いをご覧ください。

CSMA/CD方式

CSMA/CD方式は、データの衝突を前提とする技術です。

データの衝突を検出すると、データが破損したと認識し、ランダム時間の待機後に再度送信を行います。

では、図で、

  • A→B
  • C→D

のデータ送信が同時に発生した場合を考えてみましょう。

とりあえず送信

伝送路中にデータが流れていないことを確認した後、とりあえずデータを送信してみます。

AはB宛に、CはD宛にデータを送信しますが、この時点で伝送路中で衝突が発生します。

衝突が発生するとデータが破損し、正常に送信完了になりません。

この衝突を検知します。

ランダム時間の待機

衝突を検知したAとCは、お互いにランダム時間の待機を行います。

なんでランダムなのかというと、再度衝突を発生させないためです。

ここで一定の規則があると、再びAとCの同時送信が起こりますから、衝突になります。

ランダム時間という、なんだかあいまいな表現ではあるのですが、衝突回避のための送信待ち時間が発生します。

Aの送信開始

ランダム時間経過後、Aが待ち時間が終了し、先に送信します。

もちろん、ランダム時間ですから、再び衝突が発生することもあれば、Cが先に送信を開始することもあります。

この辺りは確率的に衝突が発生しにくいだけであって、100%ではない部分です。

Cの送信開始

Aの送信中はCは検知できますから、ランダム時間が経過し、かつAの送信が終了したタイミングで、Cの送信が開始します。

これにて、CSMA/CD方式によるデータの送信が完了しました。

CSMA/CD方式の特徴

CSMA/CD方式は、混んでいない伝送路の場合には、比較的高速な伝送が可能です。

ただし、混雑率が30%を超えると、データの衝突が顕著になり、一気に効率が低下します。

混み合う伝送路の場合には、後述のトークンパッシング方式のほうが優れています。

トークンパッシング方式

トークンパッシング方式は、データの衝突を防止する方式です。

トークンと呼ばれる送信可能を示すパケット(信号みたいなもの)を、端末間で順番に回していき、トークンを持っている端末のみがデータの送信が可能になります。

トークンパッシング方式では、

  • トークンリング型
  • トークンバス型

があります。

ここでは、トークンリング型を例に、動作を説明します。

トークンが巡回

トークンが巡回しています。

トークンは送信可能パケットのことなのですが、現実の世界で考えると電車のイメージに近いでしょう。

山手線や大阪環状線など、環状ルートの電車を想像してください。

トークンを受け取った端末が送信可能

トークンは順次端末を巡回します。

そして、トークンを持っている端末のみが送信可能です。

ここで環状ルートの電車に例えると、電車(トークン)が駅(端末)に到着した時だけ乗車可能(送信可能)と考えるとわかりやすいでしょう。

トークンを次の端末に渡す

トークンを受け取った端末は、送信したいものがあれば送信します。

もし送信したいものがなければ、送信の権利を放棄し、次の端末にトークンを渡します。

これを順に繰り返すことで、常に一つの端末だけが送信可能になり、データの衝突を回避できます。

トークンパッシング方式の特徴

トークンを獲得していない端末がデータの送信をできないのは先述のとおりです(これがトークンパッシング方式の基本動作)。

トークンパッシング方式のメリットは、伝送路が混雑していても、伝送時間の増加が緩やかになることです。

ただ、緩やかであっても、やはり伝送路の混雑とともに伝送に時間がかかってしまう傾向までは避けられません。

時間が増加する要因としては、接続されている端末が多く、トークンの獲得に時間がかかるからです。

なお、混雑率の低い回線であれば、CSMA/CD方式のほうが高速です。

※混雑率の低い伝送路では、衝突の発生確率が低いため。

TDMA方式

TDMA方式は、データの衝突を防止する方式です。

TDMAはTime Division Multiple Accessの頭文字であり、伝送路の利用できる時間を細かく区切り、その時間において各端末に伝送路の占有時間を与えます。

つまり、自分に与えられた時間中は、自分専用の伝送路になるので、データの送信を行っても衝突は発生しません。

まとめ

ここまで、データの衝突防止方式について紹介してきました。

パケットとして細かく分割されたデータは、CSMA/CD方式、トークンパッシング方式、TDMA方式といった衝突防止技術を使い、伝送されます。

また、そもそものデータの衝突を防ぐには、ブリッジやスイッチングハブによるコリジョンドメインの分離によって、無駄なデータを関係のない伝送路に流すことを抑制することも大切です。

以上、データの衝突防止方式について、参考になれば幸いです。