] > ALOHA

第 9 回 ALOHA

本日の内容


このドキュメントは http://edu.net.c.dendai.ac.jp/ 上で公開されています。

9-1. データリンク層

本日からは、物理層を利用してデータ通信をするデータリンク層に関する話題 を取り上げます。

データリンク層とは物理層を利用してデータをやりとりするもので、 Ethernet, xDSL, SONET, ATM(ISDN), ALOHA などがあります。

空中や、同軸ケーブルなど、情報を媒介するものを複数の送信者が共有するモ デルをマルチプルアクセス(MA)と言います。 マルチプルアクセスでは通常の仮定では同時に一人の送信者しか情報を送るこ とができません。 はじめにさまざまな競合回避について紹介します。

FDMA(周波数分割マルチアクセス)

FDMAは、複数の周波数の搬送波を利用することで複数の送信者が 一度にデータリンク層を使えるようにしたモデルです。 複数の周波数を扱うため、送受信機の性能により使用できるチャネル数は限ら れ鱒。 また特定のチャネルを使用する局は固定されてしまうのが普通なので、占有率 の低い局が多いと利用率が低下します。 また、通信を始める前にあらかじめ局の数を決めておかなければなりません。

TDMA(時分割マルチアクセス)

TDMAは、特定の局の送信できる時間帯を相互に重複しないように 制限してしまうモデルです。 FDMA とは違い、送受信機の性能が送信者の数を決定することはありません。 しかし、送信者の数が増えると個々の通信の効率は落ちていきます。 また時間の同期の問題も発生します。 FDMA 同様に通信を始める前にあらかじめ局の数を決めておかなければなりま せん。

トークンリング方式

トークンリングとは、送信者の間にトークンを回し、トークンを受け取った人 が通信を行う権利を得ると言うモデルです。 IBM のトークンリング(2Mbps)や CISCO の FDDI (光ファイバ 150Mbps) など 実用化されました。 トークンを回す時、トークンの喪失検出や、局の参加、離脱などの問題がある ため、制御が複雑になります。 したがって、インタフェースは高額になります。

競合方式

競合方式とは複数の送信者が通信路を同時にアクセスすることを許す方式です。 同時にアクセスした場合は混信し、通信は失敗します(衝突 Collisionが、その際の処理はプロトコルで行います。 制御が楽なので安価に作れ、また、さまざまなメディアを利用することができ ます。 但し、利用率が上がると通信効率が落ちます(輻輳)。 ALOHA や Ethernet はこの競合方式です。

9-2. ALOHA

ハワイ大学は 1970 年代に島に散在しているキャンパス間のコンピュータネッ トワークとして、無線を利用したネットワークの研究をしていました。 このネットワークはアップリンクとダウンリンクの二つのチャンネルしか使用 しません。 中央コンピュータセンターはダウンリンクを使用します。 他の全ての端末はアップリンクを共有しました。 ダウンリンクは競合しませんので、理想的には通信誤りは発生しないと仮定で きます。 一方アップリンクは常に複数の端末で競合が起こる可能性があります。 ここで使われた ALOHA プロトコルは次のような非常に単純なものでした。

  1. 送信したいパケットがあったらすぐに送信する。
  2. 受信が成功したら ACK を送信者に通知する。 ACK が返ってこなかったら任意の時間待って再送する。

端末がセンターにパケットを送ることを考えると、送信時に混信が起こる可能 性があります。 もし、センターにパケットが到着したら、送信者はセンターから ACK を一定 時間内に必ずもらえるので、送信が成功したかどうかはすぐにわかります。 さて、このようなプロトコルの効率は良いのでしょうか? 悪いのでしょうか? これを解析するのに確率過程論や待ち行列論を使用します。

待ち行列理論

ポアソン分布

プロトコルを解析するのに、ランダムな状況の平均をとることを考えます。 この場合、パケットがランダムに発生するとして、平均伝送量を求めたいと思 います。 さて、このパケットがランダムに発生するとはどのようなことなの でしょうか? 法則性がないということだと考えると、特定の時間にパケットが発生したこと と、別の時間にパケットが発生したことの因果関係がないということになりま す。 逆に 1 分間なら 1 分間パケットが発生しない確率は、どの時刻でも一定である と言うことです。 これを「直前になにが起こったかに関わりのない性質(無記憶性)」と言うこと があります。 一方、そのパケットの発生の度合は、一定時間内のパケットの発生平均が一定 値 λ であるとします。 まとめると、ランダムにパケットが発生するとは次のような性質を持つことを 言うことにします。

ではこのような性質を持つ確率を求めてみましょう。

まず、一定時間パケットが発生しないことを確率を考えてみましょう。 例えば、時刻 0, x, y(0<x<y) のそれぞれに関して、次の確率を考えま しょう。

p(0,x)
時刻 0 から時刻 x までパケットが生成しない確率
p(x,y)
時刻 x から時刻 y までパケットが生成しない確率
p(0,y)
時刻 0 から時刻 y までパケットが生成しない確率

ここでパケットが生成しない確率を考えたのは、 「時刻 0 から時刻 y までパケットが生成しない」 ということは 「時刻 0 から時刻 x までパケットが生成しない」ことと 「時刻 x から時刻 y までパケットが生成しない」ことの両方が満たさせるこ とを意味するという関係になっているからです。 つまりこれは積事象ですから、確率の関係は次のようになります。

p0x · pxy = p0y

また、さらにこれは無記憶性により、時間だけに依存して時刻だけにしか依存 しないので、次が成り立ちます。

pxy = p0y-x

したがって、改めて時間 T に対してパケットが生成しない確率を P(T) で表 すと、 T+ΔT 時間パケットが生成しない確率は次の通りです。

PT+ΔT = PT · PΔT

これよりP(T)の導関数を求めます。

PT+ΔT - PT ΔT = PT · PΔT - PT ΔT = PT · PΔT - 1 ΔT

ここで、 PΔT - 1 ΔT の値は適当な値 c1 に収束すると仮定します。 すると、両辺の極限をとると次のようになります。

PT T = c1 PT
PT PT = c1 T
PT PT = c1 T

積分定数を c2 とすると次のように得られます。

log PT = c1 T + c2
PT = e c1 T + c2

ここで、P(0)=1 より c2 = 0 となり最終的には次の形になります。

PT = e c1 T

さて、次にここで T 秒間に k 個パケットが発生する確率を考えましょう。 この確率を Pk T で表すことにします。

k=1 の時

T+ΔT 時間にパケットが 1 個発生することを考えると、これは次のように場合分け できます。

  1. T 秒間に 1 個発生し、 ΔT 秒間に 0 個発生する。
  2. T 秒間に 0 個発生し、 ΔT 秒間に 1 個発生する。

これを式にすると次のようになります。

P1 T+ΔT = P1 T P0 ΔT + P0 T P1 ΔT

上記同様導関数を求めると次のようになります。

P1 T+ΔT - P1 T = P1 T P0 ΔT - P1 T + P0 T P1 ΔT
P1 T+ΔT - P1 T ΔT = P1 T P0 ΔT - 1 ΔT + P0 T P1 ΔT ΔT

これに P0 T = P T を使い、 また P1 ΔT ΔT の値は適当な値 c3 に収束すると仮定します。 すると導関数は次のようになります。

P1 T T = P1 T c1 + e c1 T c3

ここで P1 T を左辺に移し、 e -c1 T を両辺にかけて変形します。

P1 T T - P1 T c1 = e c1 T c3
e -c1 T P1 T T - c1 e -c1 T P1 T = c3

左辺は e -c1 T P1 T の微分になるので、両辺を積分します。

e -c1 T P1 T T - c1 e -c1 T P1 T T = c3 T
e -c1 T P1 T = c3 T + c4
P1 T = c3 T + c4 e c1 T

ここで、 c4 は積分定数ですが、 0 時間内にパケットが 1 個発生する確率は 0 なので、 c4 = 0 となります。 したがって次が得られます。

P1 T = c3 T e c1 T
k=2 の時

T+ΔT 時間にパケットが 2 個発生することを考えると、これは次のように場合分け できます。

  1. T 秒間に 2 個発生し、 ΔT 秒間に 0 個発生する。
  2. T 秒間に 1 個発生し、 ΔT 秒間に 1 個発生する。
  3. T 秒間に 0 個発生し、 ΔT 秒間に 2 個発生する。

ここで、 ΔT 秒間にパケットが 2 個発生する確率は、他の値に比べて十分小さいため、無 視することにします。 そして、これを式にすると次のようになります。

P2 T+ΔT = P2 T P0 ΔT + P1 T P1 ΔT

上記同様導関数を求めると次のようになります。

P2 T+ΔT - P2 T = P2 T P0 ΔT - P2 T + P1 T P1 ΔT
P2 T+ΔT - P2 T ΔT = P2 T P0 ΔT - 1 ΔT + P1 T P1 ΔT ΔT
P2 T T = P2 T c1 + c3 T e c1 T c3
P2 T T - P2 T c1 = c3 T e c1 T c3
e -c1 T P2 T T - c1 e -c1 T P2 T = c32 T
e -c1 T P2 T T - c1 e -c1 T P2 T T = c3 2 T T
e -c1 T P2 T = c3 2 T 2 2 + c5
P2 T = c3 2 T 2 2 + c5 e c1 T

ここで、 c5 は積分定数ですが、 0 時間内にパケットが 2 個発生する確率は 0 なので、 c5 = 0 となります。 したがって次が得られます。

P2 T = c3 T 2 2 e c1 T
一般のkの場合

同様に k=3 の場合を求めると次のようになります。

P3 T = c3 T 3 3 · 2 e c1 T

これより類推して、帰納法を使うことにより、以下を得ます。

Pk T = c3 T k k ! e c1 T
定数の決定

ここで c1 , c3 の値を決めていきます。 まず、一定時間内にパケットが 0 個、または 1 個、または 2 個、または…… と何個かが発生する確率は 1 なので、以下の式が成り立ちます。

k=0 Pk T = 1

つまり次の式が成り立ちます。

e c1 T + k=1 c3 T k k ! e c1 T = 1
1 + k=1 c3 T k k ! = e - c1 T

ここで左辺は e c3 T のテーラ展開になってます。 したがって、以下が得られます。

e c3 T = e - c1 T
c3 = - c1

一方、単位時間内にパケットが平均 λ 個発生するという前提から次の式が成り立ちます。

k=0 k Pk 1 = λ

左辺を計算すると次のようになります。

k=0 k Pk 1 = k=1 k c3 k k! e c3
= c3 e - c3 k=1 c3 k-1 k-1 !
= c3 e - c3 k=0 c3 k k !
= c3 e - c3 e c3
= c3

したがって、 c3 = -c1 = λ が得られる。

まとめ

単位時間あたり平均 λ のパケットが発生する時、 T 時間内に k 個発生する確率は以下の式で与えられる。これをポアソン分布と 呼ぶ。

λ T k k ! e - λ T

ALOHA の解析

ALOHA のパケット 一つのパケットが T 秒かけて送られることを考えましょう。 時刻 0 にパケットが送られ始めたとします。 すると送信は T 秒後まで続きます。 したがって他のパケットと混信する時間帯は時刻 -T 秒から T 秒までの 2T 秒間になります。 パケットが一つ送られたと言う条件の元で他のパケットが 2T 秒間送られない 確率は e -2 λ T で得られます。

ALOHA のスループット ここで通信効率としてスループットを考えます。 これは正常に送られるデータの伝達速度の期待値で、(送られるパケット数)× (正常に送られる確率)で得られます。 T 時間内に送られる平均パケット数は λT なので、スループット S は次の式で 与えられます。

S = λ T e -2 λ T

λ T = x とし、 x e -2 x を解析すると、 x = 1 2 の時、最大値 1 2e = 0.18... をとります。


坂本直志 <sakamoto@c.dendai.ac.jp>
東京電機大学工学部情報通信工学科