Семинар 2 - Анализ производительности IEEE 802.11 DCF + RTS/CTS

Описание модели
Есть Ad-Hoc сеть из N станций. Трафик, передаваемый каждой станцией, насыщенный, то есть в каждый момент времени у станции есть пакеты для передачи.

Пусть$$l$$ – длина кадра и $$\overline p$$ – RTSthreashold (пороговое значение размера кадра, начиная с которго используется механизм RTS/CTS), тогда:


 * при $$l \leq \overline p$$ – режим передачи DCF
 * при $$l > \overline p$$ – режим передачи RTS/CTS

Вопрос к модели
Какова пропускная способность сети? (Какой максимальный объем полезного трафика за вычетом накладных расходов – overhead – можно передать через сеть?)

Обозначения в модели

 * $$\tau$$ – вероятность передачи в слоте
 * S – пропускная способность сети
 * $$T_{slot}$$ – средняя длина виртуального слота
 * L – среднее число полезных бит в кадре
 * $$p_{e}$$ – вероятность пустого слота
 * $$p_{s}$$ – вероятность успешной передачи в слоте
 * $$p_{c}$$ – вероятность коллизииного слота
 * $$\sigma$$ – длительность пустого слота
 * $$T_s$$ – длительность слота с успешной передаче
 * $$T_c$$ – длительность коллизионного слота слота

Анализ модели
Виртуальный слот - временной интервал между двумя последовательными отсчетами счетчика отсрочки. Далее везде под словом "слот" подразумевается именно виртуальный слот.

Запишем вероятности появления пустого слота, коллизионного слота и успешной передачи в слоте: $$~T_{slot} = p_e \sigma + p_{s} T_{s} + p_{c} T_{c}$$
 * $$~p_{e} = (1 - \tau)^N$$ – пустой слот (ни одна станция не передает)
 * $$~p_{s} = N \tau (1 - \tau)^{N-1}$$ – успешный слот (передает одна станция, остальные молчат)
 * $$~p_{c} = 1 - (1 - \tau)^N - N \tau (1 - \tau)^{N-1}$$ – коллизионный слот (одновременно передает более одной станции)

В зависимости от длинны кадра, длительность слота при успешной передаче кадра будет разной. Запишем среднюю длину успешного слота, в зависимости от длины кадра при разных методах передачи:

$$t_{s} = \left\{ \begin{array}{ll}

t_b(l) = H + \frac{l}{V} + \overbrace {SIFS + T_{ack} + DIFS}^{EIFS} &, l \leq \overline p \\

t_{RTS}(l) = RTS + CTS + 2SIFS + H + \frac{l}{V} + EIFS &, l > \overline p

\end{array} \right.$$

$$~\{d_l, l=\overline{l_{min},l_{max}}\}$$ – доля пакетов, длинны $$l$$

$$T_{s} = \sum_{l=l_{min}}^{\overline p}d_{l}t_b(l) + \sum_{l=\overline p + 1}^{l_{max}}d_{l}t_{RTS}(l)$$

$$T_c = \frac{1}{p_{c}}\sum_{n=2}^N \pi_c(n) t_c(n)$$ - условное (поэтому коэффициент $$1/p_{c}$$) математическое ожидание длительности коллизионного слота, где

$$~\pi_c(n)$$ – вероятность, что в коллизию попало $$n$$ станций

$$~t_c(n)$$ – средняя длина коллизии, если в ней участвует $$n$$ станций

$$\pi_c(n) = {N \choose n} \tau^n (1 - \tau) ^ {N-n}$$

$$~\{D_l\}$$ – доля пакетов, длиной меньше либо равной $$l$$ $$( D_l = \sum_{k \leq l}d_k )$$

Для метода DCF:

$$t_c(n) = \sum_{l_{min}}^{l_{max}}[D_l^n-D_{l-1}^n](\frac{l}{V}+H+EIFS)$$

где $$[D_l^n-D_{l-1}^n]$$ – вероятность (или все-таки доля?) того, что из n передающих кадры станций хотя бы у одной кадр имеет длину l.

Для метода RTS/CTS: $$t_c(n) = (1 - D_{\overline p})^n [RTS+EIFS] + \sum_{l_{min}}^{\overline p}[D_l + (1 - D_{\overline p}))^n - (D_{l-1} + (1 - D_{\overline p}))^n](\frac{l}{V}+H+EIFS)$$

где $$(1 - D_{\overline p})^n$$ – вероятность (доля?) того, что из все кадры имеют длину более, чем $$\overline p$$ (поэтому используется метод RTS/CTS).



Будем описывать состояние станции парой чисел (s, k), где

s - stage - номер повторной передачи

k - counter - счетчик отсрокчки

Кроме того, $$W_0 = CW_{min} + 1$$ и $$W_m = CW_{max} + 1$$

Запишем вероятности стационарных состояний через состояние (0, 0) вероятность которого считаем известной. Вероятность станции попасть в коллизию при передачи положим равной $$p$$. Число попыток передачи ограничено числом $$R$$.

$$\pi (1, W_1 - 1) = \frac{p}{W_1} \pi (0, 0)$$

$$\pi (1, W_1 - 2) = \pi (1, W_1 - 1) + \frac{p}{W_1} \pi (0, 0) = \frac{2p}{W_1} \pi (0,0)$$

$$\pi (1, W_1 - k) = k \frac{p}{W_1} \pi (0, 0)$$

$$~\pi (1, 0) = p \pi (0, 0)$$

$$~\pi (s - 1, 0) = p^{s-1} \pi (0, 0)$$

$$\pi (s, W_s - k) = k \frac{p^s}{W_S} \pi (0, 0)$$

$$\pi (0, W_0 - 1) = \frac{1}{k} (1-p) (\sum_{k=0}^{R-1} \pi (0, 0) p^k) + \pi (0, 0) p^R) = \frac{1}{W_0} \pi(0,0) (p^R + (1-p) \sum_{k=0}^{R-1}p^k) = \frac{\pi(0,0}{W_0} (p^R + 1 - p^R) = \frac{\pi(0,0}{W_0}$$

$$\sum_{s=0}^R \sum_k \pi(s,k) = \sum_k^{W_0} \pi(0,k) + \sum_{s=1}^R \sum_k^{W_s} \pi(s,k) = \sum_{s=1}^{R} \frac{p^s}{W_s} \pi(0,0) \frac{W_s^2}{2} + {W_0^2}{2} \frac{1}{W_0} \pi(0,0) \frac{1-p^R}{1-p} = \pi(0,0) \sum_{s=1}^R p^s \frac{W_S}{2} \frac{1-p^R}{1-p}$$ ???

$$~\tau = \sum_s \pi (s, 0)$$ ???

Полученных данных достаточно для определеня $$\tau$$.

Другой, более простой, подход к определению $$\tau$$ заключается в усреднении через число слотов на передачу.

<картинка_с_попытками_передачи.жпг>

$$\tau = \frac{f}{f+w}$$, где:

$$f$$ - среднее число попыток передачи на 1 пакет

$$w$$ - число пустых слотов на пердачу одного пакета

1 попытка - $$ p_i = 1, W_i = W_0 - 1$$

2 попытка - $$ p_i = p, W_i = \frac{W_1 - 1}{2}$$

...

R + 1 попытка - $$ p_i = p^R, W_i = \frac{W_R - 1}{2}$$

Причем $$W_i = 2^i W_0$$. Тогда имеем

$$f = \sum_{i=1}^{R+1} p^{i-1} = \frac{1-p^{R+1}}{1-p}$$

$$w = \sum_{i=0}^R \frac{2^i W_0 - 1}{2} p^i = \frac{1-p^{R+1}}{1-p} [W_0 \frac{1 - 2^{R+1}}{1 - 1/2} - \frac{R}{2}]$$

Стоит заметить, что подход с решением цепи Марокова является более универсиальным и применяется во многих других моделях.