
- •Общие сведения о протоколах канального уровня
- •Алгоритм работы протокола bsc в режиме “передача данных”
- •Алгоритм работы передающей стороны
- •Алгоритм работы принимающей стороны
- •Методические указания к выполнению работы
- •4.1. Домашняя подготовка
- •4.2. Работа в лаборатории
- •4.3. Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа №2 Изучение работы бит-ориентированного протокола в режиме «передача данных»
- •Цель работы
- •Работа протокола управления каналом в режиме нормального ответа
- •3.1. Алгоритм работы первичной станции в фазе "передача данных"
- •3.1.1. Режим передачи
- •3.1.2. Режим приема
- •3.2. Алгоритм работы вторичной станции в фазе "передача данных"
- •3.2.1. Режим приема
- •3.2.2. Режим передачи
- •3.3. Диаграммы процессов передачи
- •4.3. Требования к отчету.
- •Контрольные вопросы
- •Библиографический список
4.3. Требования к отчету
Отчет должен содержать цель работы, форматы использованных кадров, протокол работы имитационной модели, выводы по проделанной работе.
Контрольные вопросы
Определите понятие «канал передачи данных».
Какие конфигурации канала передачи данных поддерживает протокол BSC?
В чем состоит основное назначение канального протокола?
Какой процесс называется синхронизацией и в чем она заключается?
В чем заключается метод управления первичный/вторичный?
Какие функции выполняют управляющие символы протокола?
Как реализуется процедура установления логического соединения?
Представьте форматы информационного и управляющего кадров протокола BSC.
Как формируется контрольная последовательность блока?
10) С какой целью в протоколе BSC используется механизм таймеров?
11) Приведите ситуации, ведущие к потере информационного кадра, к вставке дополнительного кадра.
12) Объясните, в каком случае получателю может быть выдан блок данных с ошибкой.
Лабораторная работа №2 Изучение работы бит-ориентированного протокола в режиме «передача данных»
Цель работы
Изучение правил построения и организации функционирования канального протокола HDLC.
Работа с канальным протоколом HDLC в режиме нормального ответа на имитационной модели.
Бит-ориентированный протокол HDLC
Высокоуровневое управление каналом передачи данных (англ. High-level Data Link Control, HDLC) является стандартом, получившим широкое распространение. Стандарт HDLC на самом деле представляет собой семейство протоколов, в которое входят такие протоколы как:
LAP-B (англ. Link Access Procedure Balanced), образующий канальный уровень сетей Х.25;
LAP-D (англ. Link Access Procedure in channel D), образующий канальный уровень сетей ISDN (англ. Integrated Services Digital Network);
LAP-F (англ. Link Access Procedure for Frame), образующий канальный уровень сетей Frame Relay.
Стандарт HDLC поддерживает полудуплексную и полнодуплексную передачу, двухточечную и многоточечную конфигурации, а также коммутируемые и некоммутируемые каналы. HDLC имеет несколько необязательных возможностей, использование которых придают конкретным реализациям протокола в одних случаях характер равнорангового управления, а в других – характер управления первичный/вторичный.
Основные принципы работы протокола HDLC: режим логического соединения, контроль искаженных и потерянных кадров с помощью метода скользящего окна и циклического избыточного контроля, управление потоком кадров.
Типы станций HDLC
Существует три типа станций HDLC:
Первичная станция (ведущая) ответственна за управление каналом и восстановление его работоспособности. Она передает кадры команд вторичным станциям, подключенным к каналу. В свою очередь она получает кадры ответа от этих станций. Если канал является многоточечным, главная станция отвечает за поддержку отдельного сеанса связи с каждой станцией, подключенной к каналу.
Вторичная станция (ведомая) работает под контролем ведущей, отвечая на её команды. Поддерживает только один сеанс связи, а именно только с первичной станцией.
Комбинированная станция сочетает в себе одновременно функции первичной и вторичной станции. Передает как команды, так и ответы, и получает команды и ответы от другой комбинированной станции, с которой поддерживает сеанс.
Режимы работы
Когда станции находятся в состоянии передачи информации, они могут взаимодействовать друг с другом в одном из трех режимов: режиме нормального ответа, режиме асинхронного ответа и асинхронном сбалансированном режиме.
В режиме нормального ответа (PHO) вторичная станция прежде, чем начать передачу, должна получить явное разрешение от первичной. После получения разрешения вторичная станция передает ответ, который может состоять из одного или нескольких кадров и должен содержать указание, какой кадр ответа является последним. После передачи последнего кадра ответа вторичная станция должна ждать новой команды разрешения на передачу, прежде чем снова начать передачу. Как правило, этот режим используется в многоточечных конфигурациях звена передачи данных.
Режим асинхронного ответа позволяет вторичной станции инициировать передачу без получения явного разрешения от первичной станции (обычно, когда канал свободен, – в состоянии покоя). Как правило, такой режим используется для управления соединенными в кольцо станциями или же в многоточечных соединениях с опросом по цепочке. В обоих случаях вторичная станция может получить разрешение от другой вторичной станции и в ответ на него начать передачу. Таким образом, разрешение на работу продвигается по кольцу или вдоль соединения.
Асинхронный сбалансированный режим используют комбинированные станции. Комбинированная станция может инициировать передачу без получения предварительного разрешения от другой комбинированной станции. Этот режим обеспечивает двусторонний обмен потоками данных между станциями и является основным (рабочим) и наиболее часто используемым на практике в двухточечных соединениях.
Формат кадра
Станции HDLC могут передавать и принимать кадры нескольких типов. Структура кадра представлена на рис. 5.
Флаг |
Адрес |
Управляющее поле |
Информационное поле |
CRC |
Флаг |
Рис. 5. Формат кадра HDLC
Для определения начала и конца кадра используется уникальная в пределах протокола флаговая последовательность '01111110', помещаемая в начало и конец каждого кадра. Термин «бит-ориентированный» используется потому, что принимаемый поток битов сканируется приемником на побитовой основе для обнаружения стартового флага, а затем во время приема для обнаружения стопового флага.
Для достижения прозрачности данных необходимо, чтобы флаг не присутствовал в поле данных кадра. Это достигается с помощью приема, известного как вставка ′0′ бита, – бит-стаффинга. Если эта схема обнаруживает, что подряд передано пять ′1′, то она автоматически вставляет дополнительный ′0′ (даже если после этих пяти ′1′ шел ′0′). Поэтому последовательность ′01111110′ никогда не появится внутри кадра. Аналогичная схема работает в приемнике и выполняет обратную функцию: когда после пяти ′1′ внутри кадра обнаруживается ′0′, он автоматически удаляется.
Во время простоя среды передачи по каналу связи постоянно передаётся последовательность флагов для поддержания битовой синхронизации. Если принимающая станция обнаружит последовательность битов, не являющихся флагом, она тем самым уведомляется о начале кадра. При обнаружении следующей флаговой последовательности станция будет знать, что поступил полный кадр.
Адресное поле определяет первичную или вторичную станции, участвующие в передаче конкретного кадра. Каждой станции присваивается уникальный адрес. В режиме нормального ответа поле адреса в командах и ответах содержат адрес вторичной станции. В асинхронном сбалансированном режиме командный кадр содержит адрес получателя, кадр ответа содержит адрес передающей станции (рис. 6).
Первичная станция А |
------ Команда (Адрес В) -----> |
Вторичная станция В |
<----- Ответ (Адрес В) ------ |
Рис. 6. Правила адресации в несбалансированной конфигурации
Управляющее поле задает тип команды или ответа, а также порядковые номера, используемые для отчетности о прохождении данных в канале между первичной и вторичной станциями. Формат и содержание управляющего поля (рис. 7) определяют кадры трех типов: информационные (I), супервизорные (S) и ненумерованные (U).
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
←Разряды |
0 |
N(S) |
P/F |
N(R) |
←I-формат |
||||
1 |
0 |
S-коды |
P/F |
N(R) |
←S-формат |
|||
1 |
1 |
U-коды |
P/F |
U-коды |
←U-формат |
Рис. 7. Формат управляющего поля кадра HDLC, где: N(S) – порядковый номер передаваемого кадра, N(R) – порядковый номер принимаемого кадра, P/F – бит опроса/окончания
Информационный кадр (I-формат, первый разряд поля управления содержит ′0′) используется для передачи данных конечных пользователей между двумя станциями. Управляющее поле информационного кадра содержит два порядковых номера: номер N(S) определяет порядковый номер передаваемого кадра, номер N(R) означает порядковый номер следующего кадра, который ожидается от противоположной стороны. Номер N(R) выступает в качестве подтверждения приема предыдущих кадров.
Супервизорный кадр (S-формат, первые два разряда поля управления содержат код ′10′) выполняет управляющие функции в фазе передачи данных. Управляющее поле супервизорного кадра содержит номер подтверждения N(R). Кадры супервизорного формата не содержат информационного поля. Тип супервизорного кадра определяется S-кодами S-формата.
Функции команд и ответов, используемых супервизорным форматом:
RR (S-код ′00′, англ. Receive ready – "Готов к приему") используется первичной или вторичной станцией для индикации того, что станция готова принять информационный кадр и/или подтвердить (квитировать) ранее принятые кадры с помощью поля N(R). Если станция до этого, используя команду "Не готов к приему", посылала уведомление о том, что она занята, теперь она использует команду "Готов к приему" для индикации того, что она свободна и готова принять данные. Первичная станция может также использовать команду "Готов к приему" для опроса вторичной станции.
RNR (S-код ′10′, англ. Receive not ready – "Не готов к приему") используется станцией для индикации состояния занятости. Эта команда уведомляет передающую станцию о том, что принимающая станция не способна принять дополнительные поступающие данные. Кадр RNR, используя поле N(R), подтверждает прием ранее переданных кадров. Состояние занятости может быть сброшено посылкой кадра RR.
REJ (S-код ′01′, англ. Reject – "Неприем") используется для запроса передачи кадров, начиная с кадра, указанного в поле N(R), как только кадр принимается в неправильной последовательности. Подтверждаются все кадры с номерами до N(R)-1. Кадр REJ используется в асинхронном сбалансированном режиме для реализации метода "Возвращение-на-N" (англ. Go-Back-N).
SREJ (S-код ′11, англ. Selective reject – "Выборочный неприем") используется станцией для запроса повторной передачи единственного кадра, который определен в поле N(R). Подтверждение распространяется на все информационные кадры с номерами до N(R)-1 включительно. Выборочный неприем позволяет реализовать режим выборочного повторения. Как только передан кадр SREJ, следующие кадры принимаются и сохраняются до повторно передаваемого кадра.
Ненумерованный формат (U-формат, первые два разряда поля управления содержат код ′11′) используется для организации функций управления звеном передачи данных. С помощью U-кадров устанавливается режим работы звена, перевод из одного режима работы в другой, осуществляется разъединение звена, реализуется механизм передачи информации в обход обмена, контролируемого по порядковым номерам. Тип управляющего ненумерованного кадра определяется U-кодами U-формата.
Пятый двоичный разряд поля управления, бит P/F (англ. Poll/Final, опрос/окончание) принимается во внимание только тогда, когда он установлен в ′1′. Бит P/F называется битом опроса P, когда он используется первичной станцией, и битом окончания F, когда он используется вторичной станцией.
В режиме нормального ответа бит P/F используется следующим образом. После того, как первичная станция завершает передачу серии кадров, она устанавливает бит опроса P в ′1′, передавая управление передачей вторичной станции. Получив управление, вторичная станция должна ответить первичной. По окончании передачи вторичная станция устанавливает бит окончания F в ′1′, возвращая управление первичной станции.
Информационное поле содержит действительные данные пользователя. Информационное поле может иметь произвольную длину вплоть до максимально установленного размера и присутствует только в кадре информационного формата.
Поле CRC (контрольная последовательность кадра) используется для обнаружения ошибок передачи. Передающая станция осуществляет вычисления над потоком данных пользователя, и результат этого вычисления включается в кадр в качестве поля CRC. В свою очередь, принимающая станция производит аналогичные вычисления и сравнивает полученный результат с полем CRC. Если имеет место совпадение, велика вероятность того, что передача произошла без ошибок. В случае несовпадения имела место ошибка передачи, и принимающая станция извещает передающую о необходимости повторить передачу кадра. Максимальное число повторных передач регламентируется конкретной реализацией протокола.
Для вычисления CRC используется метод циклического избыточного контроля (англ. Cyclic Redundancy Check, CRC). Метод основан на представлении исходных данных в виде одного многоразрядного двоичного числа. В качестве контрольной информации рассматривается остаток от деления этого числа на известный делитель. В качестве делителя выбирается семнадцатиразрядное двоичное число, чтобы остаток от деления имел длину 16 двоичных разрядов (2 байта).
При получении кадра данных снова вычисляется остаток от деления на тот же делитель, но при этом к данным кадра добавляется и содержащаяся в нем контрольная сумма. Если остаток от деления равен нулю, то делается вывод об отсутствии ошибок в полученном кадре, в противном случае кадр считается искаженным. Метод CRC обнаруживает все одиночные ошибки, двойные ошибки и ошибки в нечетном числе бит.
Управление потоком
Управление потоком кадров в режиме передачи данных осуществляется с помощью передающих и принимающих окон и механизма таймаута.
Окно – это максимальное число последовательно занумерованных I-кадров, которые можно передать без получения подтверждения. Так как размер полей N(S) и N(R) равен трем битам (рис. 6), то для порядковых номеров в кадре используются десятичные числа от 0 (двоичное представление ′000′) до 7 (двоичное представление ′111′). Если порядковые номера в результате последовательного увеличения достигли 7, то, начиная с 0, эти числа снова используются, то есть применяется нумерация кадров по модулю 8. Вследствие повторного использования чисел не разрешено посылать кадр с порядковым номером, который не был подтвержден, поэтому максимальное число кадров (максимальный размер окна), не получивших подтверждение, не может превышать 7. Размер окна устанавливается во время инициирования сеанса связи между станциями.
Окна управляются переменными состояния, которые представляют, по сути, состояние счетчика. Станции на обоих концах канала поддерживают две переменные: переменную состояния передачи V(S) и переменную состояния приема V(R). Переменная состояния передачи определяет порядковый номер следующего по очереди I-кадра, который должен быть передан. При передаче информационного кадра значение переменной V(S) помещается в поле N(S) I-формата, после чего значение переменной V(S) увеличивается на 1 (по модулю 8), в поле N(R) помещается значение переменной приема V(R).
При приеме I-кадра:
Порядковый номер передачи сравнивается с состоянием переменной приема V(R). Если N(S)=V(R), то кадр принимается (так как поступил в правильном порядке), после чего значение переменной V(R) увеличивается на 1 (по модулю 8). В противном случае кадр отбрасывается.
Порядковый номер приема сравнивается с состоянием переменной передачи V(S). Если N(R)=V(S), то подтверждается прием противоположной стороной I-кадров с номерами N(S)≤V(S)-1 (по модулю 8), в противном случае переменной V(S) присваивается значение, равное N(R). Таким образом, восстанавливается значение V(S), соответствующее неподтвержденному I-кадру, и повторно будут переданы кадры, начиная с порядкового номера, равного присвоенному значению V(S).
Механизм таймаута позволят разрешить ситуации, связанные с искажением кадров, несущих активное значение бита P/F. Если вторичная станция при приеме обнаружит ошибку в кадре с установленным битом P, то она отбросит данный кадр и будет продолжать оставаться в состоянии приема. Если первичная станция при приеме обнаружит ошибку в кадре с установленным битом F, то она отбросит данный кадр и будет пребывать в состоянии ответа от вторичной станции. Для защиты от неприема кадров с установленными битами P и F первичная станция при передаче кадра с установленным в ′1′ битом P включает таймер ожидания ответа. Если время, контролируемое таймером, истечет, а ответ, включающий установленный бит F, не получен, первичная станция пошлет кадр, запрашивающий ответ.
Ни длительность таймаутов, ни максимальное число попыток повторных передач не регламентированы в HDLC. Эти числа меняются от одной реализации к другой и зависят от характеристик канала связи и времени, необходимого для формирования ответа.
Установление и разъединение логического соединения
Для установления звена данных первичная станция посылает U-кадр с указанием режима работы и с установленным битом P. В случае установки режима нормального ответа передается U-кадр SNRM (англ. Set Normal Response Mode – Установить режим нормального ответа). Эта команда содержит адрес вторичной станции.
Передав команду установки режима, первичная станция запускает механизм таймаута, который будет вызывать повторную передачу этой команды, если по истечении времени, контролируемого таймером, от вторичной станции не будет получен ответ.
При получении команды "установка режима" вторичная станция выбирает один из двух вариантов работы. Если она не готова к установке соединения в настоящий момент, то выдает в качестве ответа U-кадр DM (англ. Disconnect Mode – Режим разъединения). Если же вторичная станция готова к установке соединения, она выдает в качестве ответа U-кадр UA (англ. Unnumbered Acknowledgment – Ненумерованное подтверждение) с установленным битом F.
Прием ответа UA завершает процедуру установки. Если команда "установка режима" или ответ UA или DM исказились в канале, команда "установка режима" повторно передается первичной станцией после истечения времени, контролируемого таймером. Если после установленного протоколом числа попыток установление звена данных не осуществилось, то передается сообщение о невозможности установки на верхний уровень.
Вторичная станция при выдаче ответа UA устанавливает свои переменные передачи Vв(S) и приема Vв(R) в нулевое состояние (Vв(S)=0, Vв(R)=0). Первичная станция, получив ответ UA, в свою очередь устанавливает свои переменные состояния Vп(S)=0 и Vп(R)=0. Таким образом, при обмене данными в фазе передачи станции начнут нумерацию кадров с 0.
Процесс разъединения звена данных осуществляется передачей первичной станцией в канал связи U-кадра DISC (англ. Disconnect – Разъединить) с установленным битом P и с одновременным включением таймера ожидания ответа. Вторичная станция, приняв кадр DISC, передает в ответ U-кадр UA и переходит в режим разъединения. Первичная станция, приняв кадр UA, выключает таймер и тоже переходит в режим разъединения. Если таймаут истечет, а ответа нет, предпринимается новая попытка разъединения. Если после установленного протоколом числа попыток разъединение не осуществляется, то передается сообщение о невозможности разъединения на верхний уровень.