Ссылка на предыдущую статью: omoled.ru/post/215
1.7. Построение канального уровня
системы.
1.7.1. Определение способов
адресной доставки сообщений канального уровня. Обоснование способа назначения идентификаторов
сетевым устройствам системы и определение их параметров.
В пакеты, формируемые на
канальном уровне, контроллер терминала/точки доступа вставляет номер терминала
(ID) отправителя/получателя.
Вставка такого идентификатора необходима при передаче пакетов по обоим каналам
в обоих направлениях. Если пакет служебный, то в нем должно быть четко
определено, кому предназначена данная команда, или от кого пришел данный ответ.
Если пакет информационный, то, казалось бы, зачем нам вставлять туда ID, когда по широковещательному
каналу была дана команда ID+Start (п. 1.6), и терминал,
ответивший ID+StartT, начинает
прием/передачу пакетов. Но может возникнуть ситуация, когда наш терминал не
принял команду ID+Stop, предназначенную ему, и
команды ID+Start, ID+StartT, для следующего терминала, который начинает обслуживаться.
Тогда, наш терминал пытается принять информационный пакет, предназначенный
другому. Но об этом он может узнать, только сравнив свой ID и ID содержащийся в информационном пакете. При обнаружении
несоответствия, терминал понимает, что что-то он пропустил (возможно, произошел
обрыв связи, и точка доступа его уже исключила из списка активных абонентов, в
соответствии с механизмом не отвеченных запросов (п. 1.6)), и начинает
процедуру регистрации в сети. Во избежание недоразумений, следует указать, что,
при передаче данных по зашифрованному каналу, шифруются при помощи ключа
шифрования только передаваемые данные в пакете. Служебная часть пакета остается
не зашифрованной, доступной каждому терминалу.
Так же есть три пакета, которые
не имеют конкретного адресата, и предназначены “для всех”. Это пакеты: 1)
Идентификатор сети (п. 1.6); 2) Пакет запроса на регистрацию от терминала (п.
1.6); 3) Пакет ответа от точки доступа при регистрации терминала в сети (п.
1.6). Все эти пакеты вместо номера конкретного адресата содержат значение “0”.
Сетевые идентификаторы (ID) назначаются точкой
доступа при регистрации терминала в
сети. Терминал, в пакете запроса на регистрацию, присылает точке доступа свой MAC-адрес. Точка доступа
сравнивает этот MAC-адрес,
и MAC-адреса,
записанные в регистре зарегистрированных абонентов (рис. 5). Найдя полное
соответствие, она считывает ID
для этого MAC-адреса, и
отправляет терминалу в пакете ответа на регистрацию. Терминал записывает ID у себя в ОЗУ.
В регистр зарегистрированных
абонентов ID, вместе с
остальными данными, записывается администратором сети. Он же заполняет,
соответствующую этому ID,
строку в регистре ключей шифрования. Когда абонент решает совсем отключиться от
сети, соответствующие записи удаляются.
Число абонентов в сети не может
превышать 55 человек (по ТЗ). Следовательно, ID, закрепляемые за абонентами, не могут иметь значение больше
55. Поэтому, если новый абонент захотел подключиться к сети, то возможны три
варианта: 1) Администратор заполняет данными об абоненте пустую строку
регистра, которую ранее кто-то занимал, но отключился от сети совсем; 2)
Администратор заполняет последнюю строку регистра, если ее номер меньше или
равен 55 ; 3) Администратор отказывает
в подключении новому абоненту, в связи с достижением максимальной абонентской
емкости. Ограничение количества абонентов в сети отражается на разрядности поля
ID в пакетах.
1.7.2. Обоснование необходимости
управления потоком сообщений. Оценка возможности применения ARQ. Разработка и пояснение способа
адаптивного изменения скорости передачи данных.
В разрабатываемой системе
терминалы – полностью бесправные устройства. Они лишь слушают служебный канал,
в ожидании прихода какой либо команды, и осуществляют прием/передачу
информации. В них не заложено никаких алгоритмов расчета, когда именно следует
передавать данные. Следовательно, вся ответственность за управление потоком
данных ложится на точку доступа, контроллер которой и является координационным
центром. Точка доступа командует терминалу, что тот может начать обмен данными,
что он должен завершить обмен данными. Терминал же руководствуется лишь
алгоритмами обработки этих команд.
Что касается механизмов защиты от
ошибок, то они реализуются на обоих уровнях. На физическом уровне применяется
помехоустойчивое кодирование и перемежение (средство защиты от групповых
ошибок). На канальном уровне производится обнаружение ошибки по несоответствию
числа единичных бит в сообщении и контрольной суммы, а так же ее исправление,
реализацией метода ARQ.
Суть метода заключается в том, что терминал, или точка доступа, обнаружив
ошибку в пакете, делают запрос на повторную передачу пакета. Механизм ARQ реализуется следующим
образом. Точка доступа отправляет терминалу первый пакет данных, и засекает
время. Пакет доходит до терминала за некоторое время Т (рис. 17).

Терминал по служебному каналу
отправляет ответ, пакет принят верно, или нет. Ответ от терминала до точки
доступа распространяется за такое же время Т. Таким образом, весь путь пакет
проходит за время 2Т. Здесь, правда, необходимо учесть и время, в течение
которого терминал обрабатывает пакет. Включим и это время в промежуток 2Т.
Точка доступа заканчивает отсчет времени, когда приходит ответ от терминала, и
делит это время пополам. Теперь, отправляя второй пакет, она не ждет прихода
ответа от терминала, а через время Т отправляет третий пакет. В это время
второй пакет уже дошел до терминала, и тот отправил ответ по служебному каналу.
Таким образом , пока третий пакет направляется к терминалу, ответ на принятие
второго пакета уже идет к точке доступа. Если терминал ответил, что пакет
принят верно, то точка доступа отправляет четвертый пакет, записывая его в свою
память вместо второго. Если же терминал ответил, что пакет пришел неверно, то
точка доступа вместо четвертого пакета переотправляет второй. В соответствии с
этим алгоритмом, терминалу известно, что когда он отправит запрос на повторную
передачу второго пакета, сначала к нему прейдет третий пакет, а уже потом
второй. Таким образом, необходима организация хранения в памяти двух пакетов:
передаваемого, и переданного ранее. Для синхронизации такого обмена пакетами по
обоим каналам необходимо оговорить следующее условие: каждый следующий пакет
отправляется с точки доступа на терминал только после прихода отчета о доставке
предыдущего пакета.
Таким образом, временная
диаграмма реализации механизма ARQвыглядит в соответствии с рис. 18.

1.7.3. Обеспечение достоверности
принимаемых сообщений.
Достоверность принимаемых
сообщений обеспечивается, как было указано в п. 1.7.2 , с помощью
помехоустойчивого кодирования и перемежения на физическом уровне, а так же
проверки равенства числа единичных бит контрольной сумме, с последующим
исправлением в соответствии с алгоритмом механизма ARQ (подробно расписанного так же в п.
1.7.2), на канальном уровне.
1.7.4. Обоснование логических
каналов связи (ЛКС) используемых на канальном уровне. Пояснение основных видов
сообщений, передаваемых по каждому ЛКС. Оценка пропускной способности ЛКС с
учетом избыточности сообщений канального уровня. Расчет основного трафика
системы. Составить сводную таблицу ЛКС с указанием наименования, назначения и
типа КС.
В системе используется всего два
канала: служебный (широковещательный) и канал трафика (зашифрованный канал).
Метод разделения этик каналов был описан в п. 1.3. По служебному каналу
терминал и точка доступа обмениваются запросами и ответами для обеспечения
нормальной работы системы. Через данный канал точка доступа получает полный
контроль над работой терминалов, получает возможность распределения каналов
трафика между терминалами. Терминалы используют этот канал для регистрации в
сети и получения управляющих команд от точки доступа, предписывающих какое-либо
действие.
Канал трафика используется для
обмена данными терминала с сетью Internet.
Как видим, для точки доступа
основным является служебный канал, обеспечивающий выполнение всех ее функций, а
для терминала – канал трафика, так как именно доступ к этому каналу и есть
смысл использования самого терминала.
По каналу трафика передаются
данные с шифрованием. Шифруется, правда, не все содержимое пакета, а лишь та
его часть, которая содержит данные. Структура пакета была приведена на рис. 10.
Флаг начала, как следует из названия, указывает на начало пакета. Флаг конца,
аналогично – на конец пакета. Оба этих поля имеют по 2 бита и равны,
соответственно, 10 (флаг начала) и 01 (флаг конца). ID терминала имеет значение от 1 до 55,
следовательно, для записи этого значения достаточно 7 байт. Пакет будет
содержать данные в размере 1023 бита. Следовательно, под поле контрольной суммы
следует отвести 10 бит. Схема распределения бит в информационном пакете
приведена на рис. 19.

По другому дело обстоит со
служебными пакетами, передаваемыми по широковещательному каналу. Структура
служебного пакета представлена на рис. 9. Поля флаг начала, флаг конца и ID, такие же как для
информационного пакета. Для формирования поля команд определимся, сколько
различных пакетов нам придется передавать.
1)Пакет с идентификатором сети: “IP” (п. 1.6);
2)Пакет с запросом терминала на регистрацию: “REG.MAC” (п. 1.6);
3)Пакет с ответом терминалу на запрос регистрации:
“REGT.MAC.ID” (п. 1.6);
4)Пакет с командой терминалу “начать обмен данными”:
“Start” (п. 1.6);
5)Пакет с ответом терминала “к обмену данными
готов”: “StartT” (п.
1.6);
6)Пакет с командой “Закончить обмен данными”: “Stop” (п. 1.6);
7)Пакет подтверждения верного приема: “Good” (механизм описан в п.
1.7.2);
8)Пакет подтверждения неверного приема: “NGood”.
Восемь команд можно закодировать
тремя битами. Однако, возможность модернизации системы тоже не стоит упускать
из вида. Добавим еще один бит. Итого, команда кодируется с помощью четырех бит.
ID, как уже установили,
кодируется семью битами. MAC-адрес
имеет значения от 0 до FFFFh,
т.е. для его кодирования нам потребуется 16 бит. В результате видим, что для
кодирования самой длинной команды, REGT.MAC.ID, нам потребуется 4+16+7=27
бит. Вместо IPбудем
использовать его вторую половину (16 бит), для экономии места (полный IP занимает 32 бита).
На поле контрольной суммы
необходимо предусмотреть шесть бит. Тогда, служебный пакет формируется по битам
в соответствии с рис. 20.

Исходя из размеров пакетов,
передаваемых по каждому из каналов, и требуемых скоростей передачи информации DownStreamи
UpStream можно сделать некоторые выводы о пропускной способности
каждого из каналов.
С учетом того, что прием и
передача по каналу трафика ведется одновременно на разных поднесущих,
необходимо составить соотношение, сколько поднесущих должно быть выделено для
передачи вверх, а сколько – для передачи вниз, с учетом обеспечения заданных
скоростей.
DownStream: 1024 кбит/с
;
UpStream: 128 кбит/с
.
Исходя из соотношения 1024/128=8,
число поднесущих, выделенных под DownStreamдолжно
быть в 8 раз больше, чем под UpStream
(т.е. в соотношении 8:1).
Для того, чтобы передача
информационного пакета терминалу и ответ о правильности приема этого пакета от
терминала в режиме обмена данными (рис. 18) приходили за одно и тоже время,
пропускная способность канала трафика должна соответствовать пропускной
способности служебного канала. То есть, если длина пакета канала трафика
составляет 1044 бита, а длина пакета служебного канала 45 бит, то с учетом
соотношения 1044/45=23.2, можно сделать вывод, что на 24 поднесущие канала
трафика требуется одна поднесущая служебного канала.
Итого, соотношение несущих по
каналам:
Канал трафика(DownStream) : Канал трафика (UpStream) : Служебный канал =
24 : 3 : 1
В этом случае все пакеты будут
приходить без задержки, и пропускные способности каналов будут соответственно
равны:
1080 : 135 : 45
1.7.5. Пояснение способа
организации доступа к физическому каналу. Управление профилями физического
уровня.
Физически каналы передачи
сообщений организованы в соответствии с рис. 7. Описание приводится там же (в
п. 1.3). Для того, чтобы на физическом уровне было известно по какому из
каналов передавать/принимать сообщения, соответствующее распоряжение должен
сделать контроллер. То есть, управление распределением каналов осуществляется
на канальном уровне. Если контроллер скомандовал передавать пакет по каналу
трафика, то этот пакет будет передаваться на всех, кроме одной, поднесущих OFDM-сигнала. Если же пакет
необходимо передать по широковещательному каналу, то контроллер дает
соответствующую команду, передать данные на оставшейся одной поднесущей. На
приемной стороне будет с точностью известно по какому из каналов (каналу
трафика или широковещательному) пришла информация, в зависимости от того, на
каких поднесущих она распространялась.
1.7.6. Пояснение структуры
пакета канального уровня: описание предполагаемых видов пакетов и необходимых
полей.
Подробное освещение этого
вопроса приведено в п. 1.7.4.
1.7.7. Описание типовых схем
обмена сообщениями между объектами канального уровня.
Схема обмена сообщениями зависит
от того, в каком режиме в данный момент взаимодействуют терминал и точка
доступа. Если терминал еще не зарегистрирован в сети, то общение производится
при помощи “пакетов для всех” (подробнее об этом в п. 1.6).Эти
пакеты принимают и обрабатывают только те терминалы, которые не имеют пока еще
присвоенных им ID. Если
терминалу необходимо найти сеть, то схема общения будет односторонней (рис.
13). Терминал при этом только слушает служебный канал ничего не предпринимая.
В процессе регистрации схема
обмена сообщениями выглядит в соответствии с рис. 14, т.е. представляет собой
схему “Запрос – Ответ”. Общение осуществляется так же при помощи “пакетов для
всех”, но в них уже закладывается элемент адресации при помощи записи MAC-адреса.
После регистрации терминал и
точка доступа общаются только при помощи адресованных пакетов. Режим
прослушивания широковещательного канала (п. 1.5), по схеме обмена информацией,
аналогичен режиму поиска сети, т.е. схема общения так же является
односторонней, но только терминал уже ждет пакет по широковещательному каналу,
предписанный именно для него (помеченный его ID).
В режиме обмена информацией (п.
1.5) общение на канальном уровне осуществляется по схеме “Запрос – Ответ” с
помощью адресованных пакетов.