トークンパッシング(トークンパッシング)とは | 意味や読み方など丁寧でわかりやすい用語解説
トークンパッシング(トークンパッシング)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
トークンパッシング (トークンパッシング)
英語表記
Token Passing (トークンパッシング)
用語解説
トークンパッシングとは、ネットワークに接続された複数のデバイスが共有の通信媒体へアクセスする際の権利を、特定の「トークン」と呼ばれる情報パケットを順次受け渡すことで制御する方式である。これは、特に共有バス型やリング型などのネットワークトポロジーにおいて、各デバイスがデータ送信の機会を公平に得られるようにし、同時に通信の衝突(コリジョン)を回避することを目的としている。多数のデバイスが一斉にデータを送信しようとすると、信号が衝突してデータが破壊されたり、通信効率が著しく低下したりする可能性があるが、トークンパッシングはこの問題を解決するための一つの有効な手段として考案された。
トークンパッシングの最も基本的な仕組みは、ネットワーク内を巡回する「トークン」という特殊な信号またはデータフレームにある。このトークンは、ネットワーク上で一度に一つのデバイスのみが所有できる唯一無二の通信権利証のようなものであり、トークンを所有しているデバイスだけがデータを送信する権限を持つ。
具体的な動作プロセスを見てみよう。まず、ネットワークが起動すると、一つのトークンが生成され、あらかじめ定められた順序でネットワーク上の各デバイスに順次渡されていく。例えば、リング型ネットワークでは、トークンはリングに沿って隣のデバイスへ、隣のデバイスへと一方向に送られていく。
あるデバイスがデータを送信したい場合、そのデバイスはネットワーク内を巡回してきたトークンを待ち受ける。トークンが自身のデバイスに到着したら、そのデバイスはトークンを取得し、データを送信する権限を得る。トークンを取得したデバイスは、送信したいデータをフレーム化し、ネットワーク上に送り出す。データ送信が完了すると、そのデバイスはトークンを解放し、次のデバイスへと順序通りにトークンを渡す。このとき、解放されるトークンには、データ送信が完了したことを示す情報や、次にトークンを受け取るべきデバイスの識別子などが含まれる場合もある。もしデバイスがデータを送信する必要がない場合、トークンが自身のデバイスに到着しても、そのデバイスはトークンを取得せずにそのまま次のデバイスへとトークンを転送する。このようにして、トークンはネットワーク上を常に巡回し続け、各デバイスに公平にデータ送信の機会が与えられる。
この方式の主な特徴と利点は、まず第一に通信の衝突が原理的に発生しないことである。トークンを所有するデバイスだけがデータを送信できるため、複数のデバイスが同時に通信媒体を使用しようとして信号がぶつかり合う事態は起きない。これは、多くのデバイスが同時に通信しようとする高負荷な環境下において、ネットワークの安定性と効率性を維持する上で非常に有利に働く。また、トークンが順序通りに各デバイスに渡されるため、特定のデバイスだけが長時間通信媒体を占有したり、逆に全くアクセスできない状態(Starvation)に陥ったりすることがなく、公平なアクセスが保証される。さらに、各デバイスがトークンを待つ最大時間が予測できるため、通信遅延の上限が保証されるという利点もある。これは、工場自動化システムやプロセス制御など、リアルタイム性が強く求められる分野において重要な特性となる。
しかし、トークンパッシングにもいくつかの欠点や課題が存在する。最も顕著なのは、トークンそのものがネットワークの運用において非常に重要な要素であるため、トークンの紛失や重複、破損などが発生した場合の管理が複雑になる点である。これらの異常事態に対応するためには、ネットワーク内に監視役のデバイスを設けたり、特殊なプロトコルを用いてトークンを再生成したりする機構が必要となり、システム全体の複雑さが増す。また、ネットワークの負荷が低い場合、つまりほとんどのデバイスがデータを送信しない状況では、データを送信するデバイスを探してトークンがネットワークを巡回し続ける時間が無駄なオーバーヘッドとなる。これは、イーサネットのようなCSMA/CD方式(キャリアセンス多重アクセス/衝突検出方式)が低負荷時に高い効率を発揮するのとは対照的である。
トークンパッシングは、主に「Token Ring(トークンリング)」や「Token Bus(トークンバス)」といったネットワーク規格で採用されていた。Token RingはIBMが開発した規格で、リング状に接続されたデバイス間でトークンをパスすることで通信を行う。Token Busはバス型ネットワークでトークンパッシングを実現するもので、工場などの産業用途で利用された。これらの技術は現代のイーサネットが主流となる以前の時代に、その信頼性とリアルタイム性から多くの場面で利用されたが、実装の複雑さや拡張性の問題から、現在では一般的なLAN環境ではほとんど見られなくなった。しかし、特定のリアルタイム制御が求められる組込みシステムや産業用ネットワークでは、今でもその考え方が応用されている場合もある。