Э. Таненбаум - Компьютерные сети. (4-е издание) (PDF) (1130118), страница 70
Текст из файла (страница 70)
Переходы 3 и 4 означают то же самое, но для кадра 1. Переходы 5, 6 и 7соответствуют потере кадра 0, подтверждения и кадра 1. Переходы 8 и 9 означают приход к получателю кадра с неверным номером. Переходы 10 и 11 обозначают получение принимающей машиной следующего кадра и передачу его сетевому уровню.Сети Петри, так же как и конечные автоматы, могут применяться для обнаружения ошибок в протоколах. Например, если какая-нибудь последовательностьпереходов будет включать переход 10 дважды без перехода 11 между ними, этобудет означать, что протокол неверен. Концепция тупиков в сети Петри такжемало отличается от своего аналога в модели машины конечных состояний.Сети Петри могут представляться в виде набора алгебраических формул, напоминающих грамматические правила.
Каждому переходу соответствует одноправило грамматики. Каждое такое правило описывает входные и выходные позиции перехода. Поскольку на рис. 3.16 изображено И переходов, то и грамматика имеет 11 правил. Пронумеруем правила таким образом, чтобы каждое из нихсоответствовало переходу с тем же номером. Грамматика сети Петри, изображенной на рис. 3.16, представлена ниже:275Передачакадра ООбработкакадра ООжиданияподтверждения ООжиданиекадра 1Передачакадра 1Обработкакадра 1Ожиданияподтверждения 1Ожиданиекадра 07СостоянияотправителяПотеряСостояниеканалаСостояниеполучателяРис. 3.16.
Сетевая модель Петри для протокола 3Интересно, что нам удалось компактно описать довольно сложный протоколнабором из 11 элементарных правил грамматики, легко реализуемых компьютерной программой.Текущее состояние сети Петри представляется неупорядоченным набором позиций, каждая из которых появляется в наборе столько раз, сколько фишек в нейимеется. Любое правило из грамматики, имеющее левую часть, может активироваться, удаляя свои левые позиции из текущего состояния сети и добавляя своиправые (выходные) позиции к текущему состоянию.
Текущее состояние (маркировка) сети, изображенной на рис. 3.16, — ACG, поэтому, например, правило 10276Примеры протоколов передачи данныхГлава 3. Уровень передачи данных_(CG —> DF) может быть применено, а правило 3 {AD -» BE) — нет, потому что Dне имеет маркера.Примеры протоколов передачи данныхВ следующих разделах мы рассмотрим некоторые широко используемые протоколы передачи данных. Первый из них, классический бит-ориентированный протокол HDLC, часто употреблялся во многих сетях. Второй, РРР, — это протоколуровня передачи данных, используемый при подключении к Интернету домашних компьютеров.HDLC — высокоуровневый протоколуправления каналомВ данном разделе мы рассмотрим группу тесно связанных друг с другом протоколов, немного устаревших, но все еще широко применяемых в сетях.
Все они произошли от одного протокола передачи данных, применявшегося в разработанныхкомпанией IBM мейнфреймах, — этот протокол называется SDLC (SynchronousData Link Control — синхронное управление каналом). После разработки протокола SDLC корпорация IBM представила его на рассмотрение институтов ANSIи ISO для утверждения в качестве стандарта США и международного стандартасоответственно.
ANSI модифицировал протокол в ADCCP (Advanced DataCommunication Control Procedure — усовершенствованная процедура управления информационным обменом), a ISO переделала его в HDLC (High-level DataLink Control — высокоуровневый протокол управления каналом). После этогопротокол был принят комитетом CCITT, который адаптировал HDLC для своегопротокола доступа к каналу LAP (Link Access Procedure — процедура доступа кканалу), являющегося частью стандарта сетевого интерфейса Х.25, однако затемснова изменил его на LAPB, повысив его совместимость с более поздней версиейHDLC.
Что хорошо в стандартах, так это то, что у вас всегда есть из чего выбрать.Если же вас не устраивает ни один из имеющихся стандартов, вы можете простоподождать появления новой модели в новом году.В основе всех этих протоколов лежат одни и те же принципы. Все они являются бит-ориентированными, и во всех применяется битовое заполнение, обеспечивающее прозрачность данных. Они различаются только в незначительных, но, темне менее, вызывающих раздражение деталях. Последующее обсуждение бит-ориентированных протоколов нужно рассматривать как общее введение. Специфические детали протоколов приводятся в соответствующих официальных описаниях.Во всех бит-ориентированных протоколах используется формат кадра, показанный на рис.
3.17. Поле Address (адрес) чрезвычайно важно для линий с несколькими терминалами, где оно используется для идентификации одного изтерминалов. В двухточечных сетях это поле иногда используется, чтобы отличать команды от ответов.277Поле Control (управляющей информации) используется для хранения порядковых номеров, подтверждений и других служебных данных, как будет показанодалее.Биты88011111108i 016Адрес Управляющее Данные Контрольнаяполесумма80 1111110Рис. 3.17. Формат кадра бит-ориентированных протоколовПоле Data (данные) может содержать произвольную информацию.
Оно может быть любой длины, хотя эффективность контрольной суммы снижается сувеличением длины кадра из-за увеличения вероятности многочисленных пакетов ошибок.Поле Checksum (контрольная сумма) является разновидностью циклическогоизбыточного кода, который мы рассматривали в разделе «Коды с обнаружениемошибок».В качестве заголовка и концевика кадра используется флаговый байт(01111110). В линиях «точка — точка», которые в текущий момент времени простаивают, флаговые последовательности передаются постоянно.
Кадр минимального размера состоит из трех полей, занимающих в общей сложности 32 бита, несчитая флаги в начале и в конце.Все кадры можно разделить на три категории: информационные, супервизорные и ненумерованные. Содержимое поля Control для этих трех типов кадров показано на рис. 3.18. Протокол использует скользящее окно с 3-битовымпорядковым номером. В каждый момент времени в сети может находиться не более семи неподтвержденных кадров. Поле Seq на рис.
3.18, а содержит порядковый номер кадра. Поле Next является пересылаемым вместе с кадром подтверждением. Однако все протоколы придерживаются соглашения о том, что вместономера последнего правильно принятого кадра в поле Next пересылается номерпервого не принятого кадра (то есть следующего ожидаемого кадра). Впрочем,номер кадра, используемого для подтверждения, не принципиален. Важно лишь,чтобы все участники придерживались одного и того же соглашения.Биты13130SeqP/FNext10ТуреP/FNext11ТуреP/FModifierРис.
3.18. Управляющее поле: информационного кадра (а); супервизорного кадра (б);ненумерованного кадра (в)278Глава 3. Уровень передачи данныхБит P/F означает Poll/Final (Опрос/Финальный). Он используется, когдакомпьютер (или концентратор) опрашивает группу терминалов. В случае значения Р компьютер предлагает терминалу посылать данные. Во всех кадрах, кромепоследнего, посылаемых терминалом, бит P/F устанавливается в Р.
В последнемкадре этот бит устанавливается в F.Некоторые протоколы используют бит P/F, чтобы заставить другую машинупослать супервизорный кадр немедленно, не ожидая попутного потока данных.Этот бит также изредка используется в ненумерованных кадрах.Тип супервизорного кадра указывается с помощью значения поля Туре. ЕслиТуре = 0, значит, данный кадр является подтверждением. Он официально называется RECEIVE READY (к приему готов). Такой кадр сообщает номер следующегоожидаемого кадра и применяется при отсутствии попутного потока данных дляпередачи подтверждения.Туре = 1 является признаком отрицательного подтверждения, официально называющегося REJECT (отказ).
Он применяется для сообщения об обнаруженииошибки передачи. Поле Next в этом случае содержит номер первого неверно полученного кадра (то есть первого кадра, который следует переслать повторно).Отправитель должен переслать повторно все неподтвержденные кадры, начинаяс кадра с номером Next. Эта стратегия больше напоминает протокол 5, нежелипротокол 6.Туре - 2 означает RECEIVE NOT READY (к приему не готов). При этом, как и в случае RECEIVE READY, подтверждается прием всех кадров вплоть до Next-i, однако отправителю сообщается, что передачу следует приостановить.
Сигнал неготовности к приему предназначен не для использования в качестве альтернативы схемескользящих окон, а для обозначения наличия у получателя каких-либо временных проблем, например отсутствия свободной памяти в буферах. Когда получатель сможет продолжить работу, он пошлет сигнал готовности, отказа или другой управляющий кадр.Туре = 3 означает SELECTIVE REJECT (выборочный отказ). Такой байт представляет собой запрос повторной передачи только указанных кадров. В этом он больше похож на протокол 6, чем на протокол 5, и поэтому наиболее полезен, когдаразмер окна отправителя не превышает половины количества используемых порядковых номеров.
Таким образом, если получатель хочет сохранить в буференесвоевременные кадры для последующего использования, он может запроситьповторную передачу любого кадра с помощью SELECTIVE REJECT. ПротоколыHDLC и ADCCP поддерживают этот тип кадра, а протоколы SDLC и LAPB —нет, то есть в этих протоколах нет команды выборочного отказа, а кадры типа 3не используются.Третий класс кадров составляют ненумерованные кадры.
Иногда они применяются для служебных целей, но могут переносить и данные, когда требуетсяненадежный, не требующий соединения сервис. В отличие от предыдущих двухклассов, в которых различные бит-ориентированные протоколы были почти идентичными, в вопросе использования ненумерованных кадров они очень сильноразличаются. Для обозначения типа кадра зарезервировано 5 бит, однако используются значительно меньше, чем 32 возможных комбинации.Примеры протоколов передачи данных279Все протоколы поддерживают команду DISC (DISConnect — прервать связь),позволяющую предупредить, что машина скоро будет выключена (например, дляпрофилактического обслуживания).