ALOHA
From Wikipedia, the free encyclopedia
背景
種類
Pure ALOHA
1972年に開発された、最も古く、最も単純なプロトコル。 最大スループットは18.4%。
- 送信者は任意のタイミングでパケットを送信することができる
- パケットが正常に受信されたら、受信者は受信確認パケット (ACK; Acknowledgment packet) を送信する
- 送信者は一定時間経過後もACKが帰ってこない場合には、ランダムな時間後に再送する
- 受信側がACKを送信していても、送信側が正常にACKを受信できない場合には再送することになる
この方式では、ノード数の増加にしたがって衝突が発生する確率が高くなり、パケットの一部が衝突しただけで再送する必要が出てくる。
|Packet of Node A|<-送信成功 |Packet of Node A|<-送信失敗(衝突) |Packet of Node B|<-送信失敗(衝突)
Slotted ALOHA
Pure ALOHAの改良版のプロトコルで、Pure ALOHAが任意のタイミングでの送信を許可していたのに対し、一定間隔でタイムスロットを設けて送信タイミングを制御している。 それ以外はPure ALOHAと同様の手順で送受信が行われる。 これによりパケットの一部だけが衝突しても再送しなければならないという制約が無くなり、最大スループット36.8%と通信効率が飛躍的に向上した。
| Timeslot | Timeslot | Timeslot | Timeslot |
|Packet of Node A|<-送信成功 |Packet of Node A|<-送信失敗(衝突)
|Packet of Node B|<-送信成功 |Packet of Node B|<-送信失敗(衝突)
r-ALOHA
r-ALOHA(予約ALOHA, Reservation ALOHA)は、Slotted ALOHA方式を用いて予約情報を載せて送信し、それ以降のフレーム(複数からなるスロット)を予約する方式である。 予約に成功した場合は、そのフレーム(後に続くスロット)はすでに予約済みとみなされ、予約に成功したノード以外は送信を行わない。
|rsrv/data|rsrv/data|rsrv/data|rsrv/data|rsrv/data|rsrv/data|rsrv/data|・・・ |<-------------------- Frame -------------------->|
ALOHA-Reservation
r-ALOHAとの違いは、各フレームに予約のためのスロットが設けられていて、そのタイミングで予約を行うことである。
| reserve |data-slot|data-slot|data-slot|data-slot| reserve |data-slot|・・・ |<-------------------- Frame -------------------->|