О UP-F — детей Frame ftelay

Первое, что мы отметим по поводу протокола HDLC, — его сложность. Он может работать в нескольких, весьма отличающихся друг от друга режимах, поддержи­вает не только двухточечные соединения, но и соединения с одним источником и несколькими приемниками, он также предусматривает различные функциональ­ные роли взаимодействующих станций. Читатели, особо интересующиеся дан­ным протоколом, всегда смогут найти его достаточно полное описание в доступ­ных и широко известных книгах, таких, например, как [1 и 46], а мы в этой книге ограничимся рассмотрением функций протокола HDLC для двухточечных со­единений, так как только такие соединения используются «чистыми» IP-сетями.

HDLC поддерживает три режима логического соединения, отличающиеся роля­ми взаимодействующих устройств. Мы рассмотрим один из них — асинхронный сбалансированный режим (Asynchronous Balance Mode, ABM) по той же причи­не — именно этот режим используют IP-маршрутизаторы. В режиме АВМ оба устройства равноправны и обмениваются кадрами, которые делятся на кадры- команды и кадры-ответы.

Формат HDLC-кадра содержит следующие поля (рис. 22.3).

□ Открывающий и закрывающий флаги, представляющие собой коды 01111110, обрамляют HDLC-кадр, позволяя приемнику определить начало и конец кадра.

Благодаря этим флагам в HDLC-кадре отсутствует поле длины кадра. Но возникает новая задача: как отличить байты данных, имеющие значение 01111110, от байта флага. На помощь приходит техника бит-стаффинга. Бит- стаффинг работает только во время передачи поля данных кадра. Если пере­датчик обнаруживает, что передано подряд пять единиц, то он автоматически вставляет дополнительный ноль в последовательность передаваемых битов (даже если после этих пяти единиц и так идет ноль). Поэтому последователь­ность 01111110 никогда не появится в поле данных кадра. Аналогичная схема работает в приемнике и выполняет обратную функцию. Когда после пяти еди­ниц обнаруживается ноль, он автоматически удаляется из поля данных кадра.

Поле данных предназначено для передачи по сети пакетов протоколов выше­лежащих уровней — сетевых протоколов IP, IPX, AppleTalk, DECnet, в ред­ких случаях — прикладных протоколов, когда те вкладывают свои сообщения непосредственно в кадры канального уровня. Поле данных может отсутство­вать в управляющих кадрах и некоторых ненумерованных кадрах.

Адрес (1 или 2 байта) выполняет свою обычную функцию идентификации од­ного из нескольких возможных устройств только в конфигурациях «с одним источником и несколькими приемниками». В двухточечной конфигурации адрес HDLC используется для обозначения направления передачи кадра — из сети к устройству пользователя или наоборот. Очевидно, что эта функция ад­реса имеет смысл только при передаче кадра через UNI.

В сеть: 11000000 Из сети: 10000000
N(R) Информационный кадр

Поле управления занимает 1 или 2 байта. Его структура зависит от типа пере­даваемого кадра. Тип кадра определяется первыми битами поля управления: 0 — информационный, 01 — управляющий, И — ненумерованный тип. Бит P/F входит в структуру поля управления кадров всех типов, он по-разному ис­пользуется в кадрах-командах и в кадрах-ответах. Например, станция-прием­ник при получении от станции-передатчика кадра-команды с установленным битом Р немедленно должна ответить управляющим кадром-ответом, устано­вив бит F.

Флаг Адрес Поле управления Данные FCS Флаг
[01111110)

[01111110
0 N(S) P/F N(R)
  S P/F N(R)
  м P/F М
Ненумерованный кадр

Рис. 22.3. HDLC-кадр

Остановимся подробнее на структуре и назначении разных типов кадров.

□ Ненумерованные кадры предназначены для установления и разрыва логиче­ского соединения, а также информирования об ошибках. Поле М ненумеро­ванных кадров содержит коды, определяющие тип команд, которыми пользу­ются два узла на этапе установления соединения, например:

О SABME (Set Asynchronous Balanced Mode Extended — установить асин­хронный сбалансированный расширенный режим) — эта команда являет­ся запросом на установление соединения (расширенный режим означает использование двухбайтовых полей управления для кадров остальных двух типов);

О UA (Unnumbered Acknowledgment — ненумерованная положительная кви­танция) — подтверждение установления или разрыва соединения;

О REST (Resetting connection — сброс соединения) — запрос на разрыв со­единения.

□ Управляющие кадры предназначены для передачи команд и ответов в контек­сте установленного логического соединения, в том числе для передачи запро­сов на повторную передачу искаженных информационных блоков:

О REJ (Reject — отказ) — часто используется как отрицательная квитанция приемника;

О RNR (Receiver Not Ready — приемник не готов) — может использоваться для замедления потока кадров, поступающих на приемник;

О RR (Receiver Ready — приемник готов) — часто используется как положи­тельная квитанция.

□ Информационные кадры предназначены для передачи данных пользователя. В процессе передачи информационных блоков осуществляется их нумерация в соответствии с алгоритмом скользящего окна.

После установления соединения данные и положительные квитанции начинают передаваться в информационных кадрах. Логический канал HDLC является ду­плексным, так что информационные кадры, а значит, и положительные квитан­ции могут передаваться в обоих направлениях. Если же потока информацион­ных кадров в обратном направлении нет или же нужно передать отрицательную квитанцию, то используются управляющие кадры.

При работе HDLC для обеспечения надежности передачи используется скользя­щее окно размером в 7 кадров (при размере поля управления 1 байт) или 127 кад­ров (при размере поля управления 2 байта). Для поддержания алгоритма окна в информационных кадрах станции-отправителя отводится два поля:

□ N(S) — номер отправляемого кадра;

□ N(R) — номер кадра, который станция ожидает получить от своего партнера по диалогу.

Предположим для определенности, что станция А отправила станции В инфор­мационный кадр с некоторыми значениями NA(S) и NA(R). Если в ответ на этот кадр приходит кадр от станции В, в котором номер посланного этой станцией кадра NB(S) совпадает с номером ожидаемого станцией А кадра NA(R), то пере­дача считается корректной. Если станция А принимает кадр-ответ, в котором но­мер отправленного кадра NB(S) неравен номеру ожидаемого NA(R), то станция А этот кадр отбрасывает и посылает отрицательную квитанцию REJ (отказ) с но­мером Na(R). Приняв отрицательную квитанцию, станция В обязана повторить передачу кадра с номером NA(R), а также всех кадров с большими номерами, ко­торые она уже успела отослать, пользуясь механизмом скользящего окна, к при­меру, 120 кадров.

Когда поток данных от приемника к передатчику отсутствует, управляющая ко­манда RR с установленным полем N(R) используется как положительная кви­танция. Если механизм окна не справляется с регулировкой потока кадров, то применяется управляющая команда RNR, которая требует от передатчика пол­ной приостановки передачи до получения команды RR.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: