Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Token Ringについて

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Cyan Cyan
February 07, 2021

Token Ringについて

Avatar for Cyan

Cyan

February 07, 2021
Tweet

More Decks by Cyan

Other Decks in Technology

Transcript

  1. イントロダクション - Ethernet(IEEE 802.3)とWLAN(IEEE 802.11)は LANで使われているプロトコル 規格としてよく知られています。 - しかし、LANの概念が登場した当初、Ethernet以外にもいろんな設計が提案され、 そのうち、EthernetのライバルとしてToken

    Ringという技術がそこそこ使用されてい ました。 - Token RingはIBMの主導の元で開発され、(細かい違いがあるが)IEEE 802.5に よって規格化されています。 - 昨今Token Ringは殆ど使われていないが、Token Ringの考え方が今のシステム 設計にも有益だと思い、理解しておいて損がないと考えています。
  2. 特徴 - Token Ringはリングトポロジーを使用しています。すなわち、ネットワーク内の全てのノー ド はリング(輪)のようなネットワーク回線によって繋げられています。 - それぞれのノードは大きく二つの要素によって構成されます。インタフェース( Interface)と ステーション(Station)です。インタフェースはNICだと考えて良く、ステーションはPCのよう

    なデバイスと認識して大丈夫かと思います。 - 情報を送信する際に、Token Passingという概念を利用しますので、一回送信できるデータ のサイズに制限がないものの、リング内のデータフレームは一つのみにならなければいけ ません。また、サイズ制限がないが、THT(Token Hold Time)という送信時間制限(10ms) があります。 - ノードを特定するのに、MACアドレスを利用していますが、Ethernet/Token Busと違い、 Most Significant Bit First Orderを採用している為、Ethernet上のMACアドレスと変換す る必要がある。
  3. 送信の流れ - リング状のネット回線に一つのトークンフレームが常に回っています。 - 情報(データもしくはコマンド)を送信したいノードはトークンが回って来た際にそれ をキャッチし、データフレーム(もしくはコマンドフレーム)に換えます。(複数のやり 方があるが、贅言の必要がない為割愛) - データフレームに目標アドレスが記述されている為、フレームが目標じゃないノード を通過した場合、スルーされます。(インタフェースの内部では1ビットのバファを経

    由する為、ノードを通過する度に1ビットの遅れが発生します。これを1-Bit Delayと いう) - 目標アドレスのノードに到達できたら、情報がノード内のバッファにコピーされ、コ ピー済のフラグが立てられます。 - データフレームが再度送信元に帰ってきた時、データフレームが消され、新しいトー クンフレームが回されます。
  4. トークンフレームの構造 SD AC ED Start Frame Delimiter(1 Byte):トークンフレームの開 始位置を示す Access

    Control(1 Byte = 8 Bit):トークンの情報を格納する場所 最初の3 Bit:優先順位を示す(大きい方が上位) 次の1 Bit:トークンフレームであるかを示す 次の1 Bit:モニター用フラグ(モニターノードを通過したかを示す) 次の3 Bit:次のトークンを予約するために利用する End Frame Delimiter(1 Byte): トークンフレームの終了位置を示 す
  5. データフレームの構造 SD AC FC Destination Address Source Address Data Checksum

    ED FS Frame Control(1 Byte): データフレームかコントロール フレームか(どういうコント ロールフレームか)を示す Destination Address(2もしくは6 Byte): 送信先のMACアドレスを示す Source Address(2もしくは6 Byte): 送信元のMACアドレスを示す Data(無制限): 送信したい情報 Checksum(4 Byte): CRCアルゴリズム を用いた誤り検出 用の付加情報 Frame Status(1 Byte): A部分:アドレスが認識されたかを示す C部分:フレームがコピーされたか(送信先 に送達できたか)を示す
  6. 異常への対応 - Token Ringのネットワーク内に下記のフレーム異常が発生し得ます。 - Orphan Frames:フレームが二周以上回っています。 - Lose Tokens:リング内にトークンが消えています。

    - Grabled Frames:フレームが壊れている。 - ステーションのうち、モニター(Monitor)と呼ばれている特別なステーションが存在 し、上記のようなフレーム異常を検出し、対応します。 - Orphan Frames:AC内のMonitorビットによってフレームが一度モニターのノードを通過したかを記 録し、一度通過したことがあるフレームが再び通過した際に、該当フレームを破棄し、新しいトーク ンを回し始めます。 - Lose Tokens:モニターにタイマーを用意し、設定された時間( Tokenless Interval)までトークンが来 なかった場合、新しいトークンを回し始めます。 - Grabled Frames:Checksum等によってフレームが壊れたと判断した場合、モニターが該当フレー ムを破棄し、新しいトークンを回し始めます。 - モニターが死んだ場合、Contention Protocolにより別のステーションをモニターとし て機能させます。
  7. 短所 - 一つのノードが壊れただけでリングネット内の通信がすべてダメになってしまいま す。 - 同じくToken Passingを使ったFDDIには二重リングを使って防ぐアプローチがあります。 - Wire Centerを利用して壊れたノードをセンター内で

    Bypassするアプローチも存在する。 - トークンが一つしかない&片方向通信しかできない為、オーバーヘッドが大きい。 - 設備のコストが高い為、構築するのにお金がかかります。
  8. 参考資料 - [PDF] LAN Systems: Ethernet, Token Ring, and FDDI

    - [PDF] FDDI AND TOKEN Ring - [Wikipedia] Token Ring - [Wikipedia] Token passing - [Wikipedia] Carrier-sense multiple access with collision detection - [PDF] IEEE 802.5 (Token Ring) LAN (System Models for Distributed and Cloud Computing) - [Webpage] Network byte order on MAC address - [Wikipedia] Bit numbering - [PDF] Token Ring - [Webpage] Ethernet / Token Ring MAC Address Conversion Table - [PDF] Token Ring - [Webpage] Token Ring - is a MAU required? - [PDF] IEEE Ring LANs - [PDF] Token Ring Solutions - [PDF] Local Networks - [Video] IEEE standard 802.5 Token Ring - [Video] IEEE standard 802.5 Token Ring Frame Format - [Video] Token ring network and how it works