Имитационная модель канала
коллективного доступа
В предыдущей статье мы оценивали вероятность успешного захвата канала в конкурентном окне.
В предыдущей статье мы оценивали вероятность успешного захвата канала в конкурентном окне.
Имитация процессов передачи и
приёма кадра
1.1. В упрощенном виде, процесс
передачи кадра по радиолучу (Xi,
Xj)
может быть представлен, как поведение композиции конечных автоматов,
которая изображена на рисунке 1:
Рисунок 1
1.2. Изображённый на рисунке 1
«Таймер» Xi
предназначен для
определения моментов времени, соответствующих:
1) времени отсрочки начала передачи
очередного пакета (кадра);
2) времени завершения передачи;
3) времени ожидания «квитанции».
При этом, поведение этого «таймера»
может быть, как детерминировано (при определении момента времени,
соответствующего завершению передачи пакета), так и псевдослучайным
(при вычислении времени отсрочки начала передачи).
1.3. «Таймер»
Xj
– определяет момент начала и завершения передачи квитанции,
причём поведение этого таймера всегда детерминировано. Следует
отметить, что, как «Таймер» Xi,
так и «Таймер» Xi,
ведут отсчёт интервалов времени в особых условных единицах –
«тиках».
Предположительно, один «тик»
имитирует интервал времени, соответствующий длительности одного
«слота».
1.4. Автомат, который имитирует
процесс управления
передачей кадра по
радиолучу (Xi,
Xj)
фактически выполняет функции «диспетчера»,
взаимодействующим со своим «окружением» с помощью
следующих сигналов:
1) сигналов Sтр(i)
и Sобс(i),
обеспечивающих взаимодействие с протоколом «высшего»
уровня, который «поставляет» кадры для передачи, причём:
- сигнал Sтр(i)
соответствует
поступлению очередного требования на передачу кадра;
- сигнал Sобс(i),
который соответствует запросу очередного требования на обслуживание,
когда предыдущая заявка на обслуживание уже выполнена.
2) сигналов ST(i)
и S(i),
первый из которых определяет тип интервала времени, а именно:
- времени отсрочки передачи пакета;
- времени завершения передачи
пакета;
- времени ожидания квитанции,
а второй – S(i)
– завершению
отсчёта заданного интервала.
3) сигналов Sпрд(i)
и Sкв(j),
обеспечивающих имитацию взаимодействия с «приёмной стороной»
(автоматом «Управление
приёмом в Xj»).
При этом сигнал Sпрд(i)
= 1 оповещает все «станции» Xj
о том, что передатчик Xi
находится в состоянии передачи.
4) и, наконец, сигнала Sзан,
запрещающего выход в эфир, формируемого «анализатором
занятости канала».
Данный анализатор представляет собой тривиальный автомат, реализующий
булеву функцию (1):
- Sзан = A1i Sпрд(1) v A2i Sпрд(2) v . . . v ANi Sпрд(N)(1)
где
- Aki
(k=1,
2, . . . , N)
– элементы матрицы смежности A=║Aij║,
описывающей граф G=(E,Г),
соответствующий текущему состоянию сети;
- Sпрд(k)
(k=1,
2, . . . , N)
– значения сигналов, соответствующих состояниям конкурирующих
станций: если конкурент Xk
ведёт передачу, то Sпрд(k)
=1.
- N
– число узлов в сети.
Следует отметить, что функция (1)
может быть использована только в том случае, если все узлы сети
работают на одной и той же частоте. Если же это условие не
выполняется, то функция (1) должна быть дополнена действием (2):
- Sпрд(k) : = 0, если Xiwi, Xjwi, но Xkwi(2)
1.5. Хотя функции (1) и (2) и
тривиальны, но, по-видимому, требуют пояснений. Для этого рассмотрим
следующий пример. Пусть условия радиослышимости описываются графом,
который изображён на рисунке 2:
Рисунок 2
Такому графу будет соответствовать
матрица A=║Aij║,
которая представлена на рисунке 3:
- XiXjXbXcXdXi01111Xj10011Xb10010Xc11101Xd01010
Рисунок 3
Теперь предположим, что на частоту
wi
претендуют передатчик Xi
и его конкуренты – станции Xb
и Xd.
Сравнивая пары значений Aki
Sпрд(k),
получим картину, представленную на рисунке 4:
- AkiSпрд(k)Xi0&1= 0Xj1&0= 0Xb1&1= 1Xc1&0= 0Xd0&1= 0
Рисунок 4
Это означает, что станция Xi
способна уступить канал станции Xb,
но никогда не обнаружит каких-либо признаков активности со стороны
станции Xd.
Но, это - особенность IEEE
802.11 ….
1.6. Поведение автомата «Управление
передачей»
может быть описано диаграммой
состояний, представленной
на рисунке 5:
Рисунок 5
Данный
автомат может находиться в одном из восьми состояний:
- St0 – исходное состояние - ожидание заявки на передачу кадра;
- St1 – ожидание освобождения канала;
- St2 – запуск таймера, обеспечивающего отсчёт времени отсрочки начала передачи пакета, а также момента времени завершения его передачи;
- St3 – ожидание собственного «слота»;
- St4 – передача пакета в эфир;
- St5 – запуск таймера ожидания квитанции;
- St6 – ожидание квитанции;
- St7 – оповещение о факте неудачной попытке передачи кадра.
Переходы данного автомата из одного
состояния в другое осуществляются под воздействием символов входного
алфавита - i,
то есть под воздействием конкретных комбинаций входных сигналов. Эти
комбинации приведены в таблице 1:
Таблица 1
- Символ входного алфавитаЗначения входных сигналовSтр(i)S(i)Sкв(i)Sзан(i)λ00xxxλ11xxxλ2xxx1λ3xxx0λ4x0x0λ5x1xxλ6x0xxλ7x1xxλ8x000λ9x010
Рассматривая таблицу 1, нетрудно
заметить, что, практически во всех комбинациях i,
большинству значений сигналов поставлен в соответствие знак «×».
Это означает, что при рассмотрении условий перехода под воздействием
символа i
данный сигнал должен игнорироваться.
Кроме того, условия выполнения
некоторых переходов не заданы. Например, в представленной на рисунке
5 диаграмме не определены условия перехода из состояния St2
в состояние St3.
Это объясняется следующим образом. При построении данной диаграммы
считалось, что подобные переходы безусловны (на рисунке 5 такие
переходы выделены жирными линиями). Обозначим такие переходы символом
*.
1.7. Показанная на рисунке 5
диаграмма состояний может быть формализована и представлена в виде
таблицы переходов, которая изображена на рисунке 6:
- СостояниеСимволы входного алфавитаλ0λ1λ2λ3λ4λ5λ6λ7λ8λ9λ*St0St0St1---------St1--St1St2-------St2----------St3St3--St1-St3St4-----St4------St4St5---St5----------St6St6--St7----St7St6St0St7----------St0
Рисунок 6
Такое представление изучаемого
процесса достаточно удобно для его имитации.
1.8. Реакции автомата на входные
сигналы представляются в виде выходного
алфавита, каждый
символ которого - µk,
соответствует конкретной комбинации выходных сигналов. Перечень всех
возможных комбинаций µk
может быть оформлен в виде таблицы выходов, в данном случае –
таблицы 2:
Таблица 2
- Символ выходного алфавитаЗначения выходных сигналовSобс(i)ST(i)Sпрд(i)µ0Sобс(i)=1- запрос очередного кадра00µ1000µ20ST(i)=1 – время отсрочки передачи0µ3001µ40ST(i)=2 – время ожидания квитанции0µ5Sобс(i)=2 – оповещение о неудаче00
Данные символы ставятся в
соответствие состояниям автомата. Для рассматриваемого автомата это
соответствие может быть задано таблицей 3:
Таблица 3
- Состояние автоматаВыходная комбинацияSt0µ0St1µ1St2µ2St3µ1St4µ3St5µ4St6µ1St7µ5
1.9. Аналогичным образом может быть
интерпретировано поведение приёмной стороны – автомата
«Управление
приёмом» (см.
рисунок 1). Его поведение может быть описано диаграммой состояний,
которая показана на рисунке 7:
Рисунок
7
Данный
автомат может находиться в одном из пяти состояний:
- St0 – исходное состояние - ожидание очередного кадра;
- St1 –приём кадра;
- St2 – завершение приёма кадра; запуск таймера, отсчитывающего время передачи квитанции;
- St3 – передача квитанции;
- St4 – фиксация нарушения процесса приёма.
Входной алфавит данного автомата
насчитывает всего шесть символов. Соответствующие этим символам
комбинации сигналов приведены в таблице 4.
Таблица 4
- Символ входного алфавитаЗначения входных сигналовS*прд(i)S(j)Sош(j)Sкол(j)λ00xxxλ11x00λ21x10λ31xx1λ4x0xxλ5x1xx
где S*прд(i)
– определяется с помощью выражения (3)
- S*прд(i) = Sпрд(i)Aij(3)
1.10. Приведённой на рисунке 5
диаграмме состояний соответствует таблица переходов, которая
представлена на рисунке 8:
- СостояниеСимволы входного алфавитаλ0λ1λ2λ3λ4λ5λ*St0St0St1St4St4---St1St2St1St4St4---St2------St3St3----St3--St4St0-St4St4---
Рисунок 8
1.11. Выходной алфавит автомата
«Управление
приёмом» может
быть задан таблицей 5, а функция соответствия выходных символов
состояниям данного автомата – таблицей 6:
Таблица 5
- Символ выходного алфавитаЗначения выходных сигналовSкв(j)ST(j)Sтр(j)µ0000µ101 – запуск таймера1 – приём кадраµ21- квитанция00
Таблица 6
- Состояние автоматаВыходная комбинацияSt0µ0St1µ0St2µ1St3µ2St4µ0
1.12. Рассмотренная модель
управления процессом приёма кадра, хотя и проста, но всё же вполне
адекватна поведению оригинала.
Это достигается тем, что в схему
модели включён ещё один тривиальный автомат – «имитатор
коллизий», суть
работы которого заключается в следующем. Известно, что коллизии в
канале могут возникнуть в следующих случаях:
- если конкурирующая станция Xk не «слышит» передатчик Xi и может выйти в эфир, не дождавшись завершения процесса передачи кадра;
- если станция Xk заняла тот же слот, что и Xi.
Очевидно, что, и в том, и другом
случае, помешать успешной передаче кадра по радиолучу Xi
– Xj
может только та станция Xk,
которая отвечает условию (4), что соответствует ситуации, когда
станция Xj
«слышит» Xk:
- XkГ-1Xj(4)
Условие возникновения подобного рода
коллизий может быть сформулировано булевой функцией (5):
- Sкол = A1j Sпрд(1) v A2j Sпрд(2) v . . . v ANj Sпрд(N)(5)
где
- Aki
(k=1,
2, . . . , N)
– элементы матрицы смежности A=║Aij║,
описывающей граф G=(E,Г),
соответствующий текущему состоянию сети;
- Sпрд(k)
(k=1,
2, . . . , N)
– значения сигналов, соответствующих состояниям конкурирующих
станций: если конкурент Xk
ведёт передачу, то Sпрд(k)
=1.
Следует отметить, что при вычислении
значения Sкол,
необходимо рассматривать только те сигналы Sпрд(k)
индекс которых - k,
не равен i,
(передатчик - «сам себе» не мешает).
1.13. Очевидно, что исход попытки
передачи пакета определяется не только коллизиями в канале. Любой
пакет может быть потерян из-за случайных или преднамеренных помех.
Известно, что вероятность искажения
пакета, в основном, зависит от уровня помех в эфире. Этот уровень
описывается величиной SNR
(Signal-to-Noise
Ratio),
или соотношением сигнал/шум, которое задаётся известной формулой (6):
- SNR = 20 log10 (Ps / Pn)(6)
где Ps
и Pn
– уровни сигнала и шума соответственно.
На основании этой величины может
быть определена средняя вероятность искажения одного бита пакета -
Pош.
В случае отсутствия механизмов защиты от ошибок, зависимость между
Pош
и SNR
определяется типом модуляции сигнала которая, формально может быть
представлена, как некая нелинейная функция (7):
- Pош = Q [SNR](7)
В случае же наличия таких
механизмов, реальный уровень Pош
будет значительно ниже по причине того, что искажённая помехами
информация может быть частично восстановлена на приёмной стороне.
Поэтому более целесообразно, определять величину Pош,
базируясь на экспериментальных данных. Например, для определения
величины могут быть использованы графики зависимости интенсивности
радиопомех (BER)
от отношения сигнал/шум (SNR),
которые представлены на рисунке 9:
Рисунок 9
Имея подобный график (разумеется,
представленный в табличной форме), а также длину пакета – L,
можно вычислить вероятность искажения пакета – P(L).
Если исходить из предположения, что
искажения разных битов одного и того же пакета происходят независимо
друг от друга, то величина P(L)
может быть вычислена с помощью выражения (8):
- P(L) = 1 – (1 - Pош) L(8)
Но если учитывать тот факт, что, в
сетях IEEE
802.11, заголовок кадра передаётся на минимальной скорости –
Vmin,
а данные (на MAC-уровне)
на более высокой – Vi,
то выражение (7) перепишется, и будет иметь вид (9):
- P(L) = [1 – (1 - Pош (1)) h] [1 – (1 - Pош (i)) l](9)
где
- Pош
(1) – вероятность
ошибки при передаче заголовка;
- h
– длина заголовка
(константа);
- Pош
(i)
– вероятность ошибки при передаче MAC-части
кадра;
- l
-
длина MAC-части.
1.14. При использовании графиков,
подобных тем, которые представлены на рисунке 9, необходимо иметь
величину SNR.
Если исходить из предположения, что единственной причиной затухания
сигнала является потери
в свободном пространстве
[1], то эта величина может быть вычислена с помощью выражения (10):
- SNR = 10 lg [(4π)2 D2 / Gt Gr λ2](10)
где
- D
– расстояние
между антеннами;
- Gt
- коэффициент
усиления передающей антенны;
- Gr
- коэффициент
усиления приёмной антенны;
- λ – длина волны
несущей.
Имея величину SNP
можно определить вероятность успешной попытки передачи пакета. Для
этого достаточно:
- определить значение функции Pош = Q [SNR] (см. п. 1.13.);
- с помощью выражения (9) определить вероятность доведения пакета.
1.15. Поскольку выражение (9)
является функцией от величины Pош
и длины пакета, то при имитации процесса передачи пакета по радиолучу
(в ситуации, когда канал уже захвачен) лучше всего использовать
следующий алгоритм:
1) при «возникновении»
события, соответствующего началу передачи кадра, определяется
величина P(L);
2) генерируется случайное число 0 <
< 1;
3) проверяется условие (11):
- P(L) > (11)
- если условие (11) выполняется, то сигнал Sош(j) (см. п. 1.9) приравнивается единице, в противном случае - тот же сигнал приравнивается нулю.
1.16. Но возможен и другой подход.
Если дисперсия средней длины пакета (точнее кадра) невелика, то
величины P(L)
для всех радиолучей могут быть вычислены заранее, ещё при подготовке
данных для моделирования, и внесены в матрицу P=║Pij║
(см. п. 2.2.1), которая «предвосхищает» результат попытки
передачи пакета по соответствующему радиолучу. И ошибки в канале
будут интерпретироваться как временные нарушения радиослышимости.
Такой подход достаточно удобен для
разработки ПО имитационной модели, к тому же он подходит для изучения
процедур «самоорганизации» сети – соответствующие
этим процедурам механизмы адаптации предусматривают, что неудачные
попытки передачи пакетов должны восприниматься как
изменение конфигурации сети.
Следующая статья будет посвящена вопросам реализации модели канала.
Следующая статья будет посвящена вопросам реализации модели канала.