ネットワークエンジニアになろう! > 四方山話 > Ethernet の再送処理 - バックオフアルゴリズム

Ethernet の再送処理 - バックオフアルゴリズム

Ethernet では、自分が送信したフレームがコリジョンに遭遇すると、ランダムに生成した待ち時間が経過した後、フレームの再送信を試みます。
待ち時間を生成するための計算式を、Truncated Exponential Backoff Algorithm と呼びます。
このアルゴリズムで算出される待ち時間は、必ず、スロットタイム(512BT) のn倍となります。
0 <= n < 2^k (2のk乗)

n --- 0 以上 2^k 未満
k --- Frame 再送信回数(1 〜 10)


k に再送信回数が代入されるのは1 〜10 までで、11回目以降16回目までは10 が代入されます。
つまり、再送待ち時間は最長52.4 ミリ秒( = 2^10 * 512BT)となります。

送信中のフレームがコリジョンに遭遇すると(1回目)、0 〜 2^1 -1 の中からランダムにバックオフタイムが選択されます(0 もしくは 1)。

0 --- 512BT * 0 = 0BT = 0 second
1 --- 512BT * 1 = 512BT = 51.2 usec


10Mbps の場合、1が選択されると、51.2マイクロ秒の待ち時間が経過した後、フレームの再送信を試みます。
0が選択された場合は、待ち時間無しで再送を試みます。

2回目の送信がコリジョンに遭遇すると、0 〜2^2 -1 の中からランダムに、バックオフタイムが選択されます(0/1/2/3)。

0 --- 512BT * 0 = 0BT = 0 second
1 --- 512BT * 1 = 512BT = 51.2 usec
2 --- 512BT * 2 = 1024BT = 102.4 usec
3 --- 512BT * 3 = 1536BT = 153.6 usec



再送回数(k)
n=0〜2^k-1
最大待ち時間 (n * 512BT)
1 1 512
2 3 1536
3 7 3584
4 15 7680
5 31 15872
6 63 32256
7 127 65024
8 255 130560
9 511 261632
10 1023 523766
11 1023 523766
12 1023 523766
13 1023 523766
14 1023 523766
15 1023 523766
16 N/A フレーム破棄


再送は15回まで可能です。
16回目の再送が発生すると、端末はフレームを破棄し、再送回数カウンタを初期化した後、以後の処理を上位層に委ねます。



n は、コリジョンに遭遇した端末が想定する、コリジョンドメイン内の端末数を意味します。

初めてコリジョンに遭遇すると、端末はコリジョンドメインに、自分以外に1台端末が存在すると想定します。
2回目は3台、3回目は7台、とExponential(指数関数的)に想定端末数を増加させて行きます。
想定端末数が1023 に達すると(再送回数が10回に達すると)、以後は想定端末数は増加しません。 この1023 に、自分自身を足した1024が、コリジョンドメインに存在可能な最大端末数です。
ネットワークエンジニアになろう!のトップページへ戻る
サイト内検索
無料メールマガジン「英語でネットワークエンジニア」
マニュアルやRFCを読むのに必要なのは、高度な文法知識ではなく語彙力です。毎回一単語、例文と解説に技術情報を併せてお届けします. (マガジンID:0000181633)
メールアドレス:
Powered by
This website is powered by Movable Type 3.2 Smartnetworks.jp.