Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
informatsionnyie--seti-i-telekommunikatsii.pdf
Скачиваний:
19
Добавлен:
02.04.2015
Размер:
1.83 Mб
Скачать

пользователями через интерфейс локальной сети, а затем объединение всего трафика и передача его магистральной сети.

Вопросы для самопроверки по теме - Кабельное телевидение

1.Система кабельного телевидения состоит из 100 коммерческих каналов, в которых программы время от времени прерываются рекламой. На что это больше похоже — на временное или частотное уплотнение?

2.С какой скоростью пользователь кабельной сети может принимать данные, если все остальные пользователи пассивны?

3.Оператор кабельной сети предоставляет доступ в Интернет в районе, состоя-

щем из 5000 домов. Компания использует коаксиальный кабель и распределяет спектр таким образом, что пропускная способность входящего потока для каждого кабеля составляет 100 Мбит/с. Чтобы привлечь клиентов, компания объявила, что каждому дому будет предоставлено 2 Мбит/с для входящего трафика в любое время. Опишите, что нужно компании, чтобы сдержать слово. 4. Чем отличаются топологи телефонной системы и кабельного телевидения для домов в одной местности?

2. Уровень передачи данных

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

2.1. Ключевые аспекты организации уровня передачи данных

Уровень передачи данных (канальный уровень) реализует процессы: интерфейса для сетевого уровня; обработки ошибок передачи данных; управления потоком данных, согласованного с характеристиками приемопередатчиков. Канальный уровень получает пакеты с сетевого уровня и формирует кадры для передачи, содержащие: заголовок, поле данных и “концевик”.

Уровень передачи данных предоставляет различные сервисы в разных системах: 1. Сервис без подтверждений, без установки соединения. 2. Сервис с подтверждениями, без установки соединения. 3. Сервис с подтверждениями, ориентированный на соединение.

Уровень передачи данных разбивает поток битов с физического уровня на отдельные кадры и считает для каждого кадра контрольную сумму. Когда кадр прибывает, его контрольная сумма подсчитывается снова. Если она отличается, то сервис уровня передачи данных игнорирует испорченный кадр и посылает сообщение об ошибке.

Используют ряд способов маркировки границ кадров: 1. Подсчет количества символов. 2. Сигнальные байты с символьным заполнением. 3. Стартовые и стоповые биты с битовым заполнением. 4. Запрещенные сигналы физического уровня.

39

Второй метод формирования кадров решает проблему восстановления синхронизации после сбоя при помощи маркировки начала и конца каждого кадра специальными байтами. Стартовые и стоповые байты могут отличаться друг от друга, но чаще в протоколах используют байт, называемый – флаг(FLAG). Если приемник теряет синхронизацию - ищет флаг и распознает конец текущего кадра. Два соседних флага - кончился один кадр и начался другой. В передаваемых кадрах может встретиться последовательность, используемая в качестве флага. Одним из способов решения проблемы защиты является добавление специального escape-символа (ESC) непосредственно перед случайным символом, совпавшим с флагом внутри кадра. На уровне передачи данных получателя вначале убираются эти escape-символы, а затем передается кадр на сетевой уровень. Таким образом, настоящий флаг можно отличить от «подложного» по наличию или отсутствию перед ним ESC. В любом случае, байтовая последовательность после ее очищения от вставных символов должна совпадать с исходной. Способ символьного заполнения - упрощенная модель протокола РРР, с помощью которого часто компьютер “соединяется” с интернет-провайдером. Недостаток - 8-битные символы. В UNICODE используется 16-битное кодирование. Поэтому разработали технику, допускающую использование символов произвольного размера. Каждый кадр начинается и завершается специальной последовательностью битов, 01111110 (Флаг). Если в битовом потоке передаваемых данных встретится пять идущих подряд единиц, уровень передачи данных автоматически вставит в выходной поток нулевой бит – эти “заполнения” аналогичны “вставкам” ESC. Когда приемник встречает пять единиц подряд, за которыми следует ноль, то он автоматически удаляет этот ноль. Битовое заполнение и символьное - абсолютно прозрачно для сетевого уровня. Если флаг (01111110) встречается в сообщении - он передается в виде 011111010, но в памяти приемника восстанавливается исходное сообщение - 01111110.

В локальных сетях могут кодировать один бит сообщения двумя битами в кадре. Обычно бит 1 кодируется парой высокого и низкого уровней сигналов (отрицательный перепад), а бит 0 - наоборот, парой низкого и высокого уровней (положительный перепад). Каждый передаваемый бит в кадре содержит в середине переход для упрощения распознавания границ битов. Комбинации уровней сигналов (низкий-низкий и высокий-высокий) не используются для передачи сообщений, но используются в качестве ограничителей кадров в некоторых протоколах.

Существуют протоколы передачи данных, использующие комбинацию счетчика символов с другим методом формирования кадра. Для обнаружения конца кадра используется счетчик. Кадр воспринимается как правильный только в том случае, если соответствующий разделитель присутствует в необходимой позиции и нет ошибки в контрольной сумме. В противном случае сканируется входной поток и ищется следующий разделитель.

Обычно для гарантии надежной доставки поставщику посылается информация о том, что происходит на другом конце линии. Протокол требует

40

от получателя посылать обратно специальные управляющие кадры, содержащие позитивные или негативные сообщения о полученных кадрах.

Получив позитивное сообщение, отправитель узнает, что посланный им кадр успешно получен на том конце линии. Негативное сообщение, напротив, означает, что с кадром что-то случилось и его нужно передать снова.

Чтобы избежать зависаний сети в случае полной потери кадров, используются таймеры уровня передачи данных. После посылки кадра включается таймер и отсчитывает интервал времени, достаточный для получения принимающим компьютером этого кадра, его обработки и посылки обратно подтверждения.

Вопрос управления таймерами и порядковыми номерами, гарантирующими, что каждый кадр доставлен сетевому уровню принимающего компьютера ровно один раз, не больше и не меньше, является очень важной частью задачи, решаемой уровнем передачи данных.

Передача с установлением соединения более надежна, но требует больше времени для передачи данных и затрат от узлов.

В отличие от протоколов дейтаграммного типа, которые поддерживают только один тип кадра - Информационный, протоколы, работающие по процедуре с установлением соединения, должны поддерживать несколько типов кадров: Cлужебные, для Установления (и Разрыва) соединения и Информационные.

Логическое соединение обеспечивает передачу данных как в одном направлении - от инициатора соединения, так и в обоих направлениях.

Процедура установления соединения может использоваться для достижения различных целей: 1. Для взаимной аутентификации либо пользователей, либо оборудования (маршрутизаторы тоже могут иметь имена и пароли, которые нужны для уверенности в том, что злоумышленник не подменил корпоративный маршрутизатор и не отвел поток данных в свою сеть для анализа). 2. Для согласования изменяемых параметров протокола. 3. Для обнаружения и коррекции ошибок.

Установление логического соединения дает точку отсчета для задания начальных значений номеров кадров. При потере нумерованного кадра приемник, во-первых, получает возможность обнаружить этот факт, а вовторых, он может сообщить передатчику, какой в точности кадр нужно передать повторно.

Вопросы для самопроверки по теме - Ключевые аспекты организации уровня передачи данных

1. Может ли потеря, вставка или изменение одного бита при использовании битового заполнения вызвать не обнаруживаемую контрольной суммой ошибку?

2. При каких обстоятельствах протокол без обратной связи (например, с кодом Хэмминга) может быть предпочтительнее протоколов с обратной связью?

41

2.2. Обнаружение и исправление ошибок

Канальный уровень должен обнаруживать ошибки передачи данных, связанные с искажением бит в принятом кадре данных или с потерей кадра, и по возможности их корректировать.

Большая часть протоколов канального уровня выполняет задачу - обнаружение ошибок, считая, что корректировать ошибки, то есть повторно передавать данные, содержавшие искаженную информацию, должны протоколы верхних уровней. Протоколы канального уровня LLC2 или LAP-B самостоятельно решают задачу восстановления искаженных или потерянных кадров.

Методы обнаружения ошибок основаны на передаче в составе кадра данных служебной информации - последовательности контроля кадра - Frame Check Sequence(FCS).

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

Существует ряд алгоритмов вычисления контрольной суммы, отличающихся вычислительной сложностью и способностью обнаруживать ошибки в данных.

Контроль по паритету позволяет обнаружить только одиночные ошибки в проверяемых данных. Метод заключается в суммировании по модулю 2 всех бит контролируемой информации. Метод редко применяется в сетях из-за его большой избыточности и невысоких диагностических способностей.

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

Циклический избыточный контрольCyclic Redundancy Check (CRC) основан на рассмотрении исходных данных в виде многоразрядного двоичного числа. Например, кадр Ethernet, состоящий из 1024 байт, будет рассматриваться как число, состоящее из 8192 бит. В качестве контрольной информации рассматривается остаток от деления этого числа на известный делитель R. В качестве делителя выбираются 17-ти или 33 - разрядные числа, чтобы остаток от деления имел длины: 16 разрядов (2 байта) или 32 разряда (4 байта). При получении кадра данных снова вычисляется остаток от деления на тот же делитель R, но при этом к данным кадра добавляется и содержащаяся в нем контрольная сумма. Если остаток от деления на R равен нулю (существует модифицированная процедура вычисления остатка, приводящая к получению в случае отсутствия ошибок известного ненулевого остатка, что является более

42

надежным показателем корректности.), то делается вывод об отсутствии ошибок в полученном кадре, в противном случае кадр считается искаженным.

Этот метод обладает более высокой вычислительной сложностью, но его диагностические возможности гораздо выше, чем у методов контроля по паритету. Метод CRC обнаруживает все одиночные ошибки, двойные ошибки и ошибки в нечетном числе бит. Метод обладает невысокой степенью избыточности. Например, для кадра Ethernet размером в 1024 байт контрольная информация длиной в 4 байт составляет только 0,4 %.

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

Существуют два подхода к организации процесса обмена квитанциями: с простоями и с организацией «окна».

Метод с простоями (Idle Source) требует, чтобы источник, пославший кадр, ожидал получения квитанции (положительной или отрицательной) от приемника и только после этого посылал следующий кадр (или повторял искаженный). Если же квитанция не приходит в течение таймаута, то кадр (или квитанция) считается утерянным и его передача повторяется. В этом случае производительность обмена данными существенно снижается, - хотя передатчик и мог бы послать следующий кадр сразу же после отправки предыдущего, он обязан ждать прихода квитанции.

Вопросы для самопроверки

по теме - Обнаружение и исправление ошибок

1. При помощи кода Хэмминга передаются 16-битные сообщения. Сколько контрольных битов потребуется для того, чтобы приемник гарантированно мог обнаруживать и исправлять одиночные битовые ошибки?

2. С помощью кода Хэмминга с проверкой на четность необходимо закодировать байт, двоичное значение которого равно 10101111. Как будет выглядеть эта последовательность после кодирования?

2.3. Элементарные протоколы передачи данных

При использовании протокола на основе «скользящего окна» (sliding window) для повышения коэффициента использования линии источнику разрешается передать некоторое количество кадров в непрерывном режиме, то есть в максимально возможном для источника темпе, без получения на эти кадры положительных ответных квитанций. Количество кадров, которые разрешается переслать таким образом, называется размером окна. В начальный момент,

43

когда еще не послано ни одного кадра, окно определяет диапазон кадров с номерами от 1 до W включительно. Источник начинает передавать кадры и получать в ответ квитанции. Для простоты предположим, что квитанции поступают в той же последовательности, что и кадры, которым они соответствуют. В момент t1 при получении первой квитанции К1 окно сдвигается на одну позицию, определяя новый диапазон от 2 до (W+1).

Процессы отправки кадров и получения квитанций идут достаточно независимо друг от друга. Рассмотрим произвольный момент времени tn, когда источник получил квитанцию на кадр с номером n. Окно сдвинулось вправо и определило диапазон разрешенных к передаче кадров от (n+1) до (W+n). Все множество кадров, выходящих из источника, можно разделить на перечисленные ниже группы.

Кадры с номерами от 1 до п уже были отправлены и квитанции на них получены, то есть они находятся за пределами окна слева.

Кадры, начиная с номера (п+1) и кончая номером (W+n), находятся в пределах окна и потому могут быть отправлены не дожидаясь прихода какойлибо квитанции. Этот диапазон может быть разделен еще на два поддиапазона: кадры с номерами от (n+1) до t, которые уже отправлены, но квитанции на них еще не получены; кадры с номерами от n до (W+n), которые пока не отправлены, хотя запрета на это нет.

Все кадры с номерами, большими или равными (W+n+1), находятся за пределами окна справа и поэтому пока не могут быть отправлены.

Перемещение окна вдоль последовательности номеров кадров: t0 - исходный момент, t1 и tn - моменты прихода квитанций на первый и n - й кадр, соответственно. Каждый раз, когда приходит квитанция, окно сдвигается влево, но его размер при этом не меняется и остается равным W. Заметим, что хотя в данном примере размер окна в процессе передачи остается постоянным, в реальных протоколах (например, TCP) можно встретить варианты данного алгоритма с изменяющимся размером окна.

При отправке кадра с номером n источнику разрешается передать еще W-1 кадров до получения квитанции на кадр n, так что в сеть последним уйдет кадр с номером (W+n - 1). Если же за это время квитанция на кадр n так и не пришла, то процесс передачи приостанавливается, и по истечении некоторого таймаута кадр n (или квитанция на него) считается утерянным, и он передается снова.

Если же поток квитанций поступает регулярно, в пределах допуска в W кадров, то скорость обмена достигает максимально возможной величины для данного канала и принятого протокола.

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

Отрицательные квитанции бывают двух типов - групповые и избирательные. Групповая квитанция содержит номер кадра, начиная с которого нужно повторить передачу всех кадров, отправленных передатчиком в сеть.

44

Избирательная отрицательная квитанция требует повторной передачи только одного кадра.

Метод скользящего окна реализован во многих протоколах: LLC2, LAP-B, X.25, TCP. Метод с простоями является частным случаем метода скользящего окна, когда размер окна равен единице.

Метод скользящего окна имеет два параметра, которые могут заметно влиять на эффективность передачи данных между передатчиком и приемником, - размер окна и величина таймаута ожидания квитанции. Во многих реализациях метода скользящего окна величина окна и таймаут выбираются адаптивно, в зависимости от текущего состояния сети.

Вопросы для самопроверки

по теме - Протоколы на основе скользящего окна

1.Сформулируйте преимущества и недостатки протоколов скользящего окна. Что определяют границы окна и размер окна?

2.Какую роль играет поток квитанций в кадрах протоколов скользящего окна ?

3.Какие параметры определяют в методе скользящего окна ?

2.4. Протоколы скользящего окна

Реальные протоколы и реализующие их программы – сложные процессы. Следует изучить формальные методы для задания и проверки (верификации) протоколов. Одной из концепций, используемой в моделях протоколов, является модель конечных автоматов. При этом рассматривают состояния, в которых находится отправитель или получатель в каждый момент времени. Состояние включает в себя значения всех переменных, в том числе и программные счетчики.

Формально модель протокола машины конечных состояний можно рассматривать как набор их четырех множеств S, М, I, T), где S — множество состояний, в которых могут находиться процессы и канал; М — множество кадров, передающихся по каналу; I — множество начальных состояний процессов; Т — множество переходов между состояниями.

Еще одним важным свойством протоколов является отсутствие тупиков. Тупиком называется ситуация, в которой протокол не может продвинуться дальше (то есть доставлять пакеты сетевому уровню) ни при каких обстоятельствах. В терминах графической модели наличие тупика характеризуется существованием подмножества состояний, достижимого из исходного состояния и обладающего двумя следующими свойствами: 1. Из этого подмножества состояний нет перехода. 2. В подмножестве нет переходов, обеспечивающих дальнейшую работу протокола.

45

Всетях Петри выделяют четыре основных элемента: позиции, переходы, дуги и маркеры (или фишки). Позицией называется состояние, в котором может находиться система или ее часть.

Благодаря недетерминированности выбора перехода, который произойдет, сети Петри могут использоваться для моделирования протоколов.

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

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

Synchronous Data Link Control (SDLC) - синхронное управление каналом. Advanced Data Communication Control Procedure (ADCCP) —

усовершенствованная процедура управления информационным обменом. ISO

переделала его в High-level Data Link Control (HDLC)— высокоуровневый протокол управления каналом. Протокол принят комитетом CCITT и адаптирован для протокола доступа к каналу - Link Access Procedure (LAP) — процедура доступа к каналу, являющегося частью стандарта сетевого интерфейса Х.25, однако затем

снова изменил его на LAPB, повысив его совместимость с более поздней версией HDLC.

Во всех бит-ориентированных протоколах используется формат кадра. Поле Address (адрес) чрезвычайно важно для линий с несколькими терминалами, где оно используется для идентификации одного из терминалов. В двухточечных сетях это поле иногда используется, чтобы отличать команды от ответов.

Поле Control (управляющей информации) используется для хранения порядковых номеров, подтверждений и других служебных данных.

Поле Data (данные) может содержать произвольную информацию. Оно может быть любой длины, хотя эффективность контрольной суммы снижается с увеличением длины кадра из-за увеличения вероятности многочисленных пакетов ошибок.

Поле Checksum (контрольная сумма) является разновидностью циклического избыточного кода.

Вкачестве заголовка и концевика кадра используются флаги (01111110). В линиях «точка — точка», которые в текущий момент времени простаивают, флаговые последовательности передаются постоянно. Кадр минимального размера состоит из трех полей, занимающих в общей сложности 32 бита, не считая флаги в начале и в конце.

Все кадры можно разделить на три категории: информационные, супервизорные и ненумерованные. Протокол использует скользящее окно с 3- битовым порядковым номером. В каждый момент времени в сети может находиться не более семи неподтвержденных кадров. Поле Seq содержит

46

порядковый номер кадра. Поле Next является пересылаемым вместе с кадром подтверждением. Однако во всех протоколах придерживаются соглашения о том, что вместо номера последнего правильно принятого кадра в поле Next пересылается номер первого не принятого кадра (то есть следующего ожидаемого кадра). Важно лишь, чтобы все придерживались одного и того же соглашения.

Бит P/F означает Poll/Final (Опрос/Финальный). Он используется, когда концентратор опрашивает группу компьютеров. Во всех кадрах, кроме последнего бит P/F устанавливается в Р. В последнем кадре этот бит устанавливается в F. Можно использовать бит P/F, чтобы заставить послать супервизорный кадр немедленно, не ожидая попутного потока данных. Этот бит могут использовать в ненумерованных кадрах.

Тип супервизорного кадра - поле Туре. Если Туре = 0, значит, данный кадр является Подтверждением - RECEIVE READY (к приему готов). Такой кадр сообщает номер следующего ожидаемого кадра и применяется при отсутствии попутного потока данных для передачи Подтверждения.

Туре = 1 является признаком Отрицательного подтверждения - REJECT (Отказ). Он применяется для сообщения об обнаружении ошибки передачи. Поле Next в этом случае содержит номер первого неверно полученного кадра (то есть первого кадра, который следует переслать повторно). Отправитель должен переслать повторно все неподтвержденные кадры, начиная с кадра с номером Next.

Туре - 2 означает RECEIVE NOT READY (к приему не готов). При этом, как и в случае RECEIVE READY, подтверждается прием всех кадров вплоть до Next-1, однако отправителю сообщается, что передачу следует приостановить. Сигнал неготовности к приему предназначен не для использования в качестве альтернативы схеме скользящих окон, а для обозначения наличия у получателя каких-либо временных проблем, например отсутствия свободной памяти в буферах. Когда получатель сможет продолжить работу, он пошлет сигнал готовности, отказа или другой управляющий кадр.

Туре = 3 означает SELECTIVE REJECT (выборочный отказ). Такой байт представляет собой запрос повторной передачи только указанных кадров. В этом он наиболее полезен, когда размер окна отправителя не превышает половины количества используемых порядковых номеров. Таким образом, если получатель хочет сохранить в буфере несвоевременные кадры для последующего использования, он может запросить повторную передачу любого кадра с помощью SELECTIVE REJECT. Протоколы HDLC и ADCCP

поддерживают этот тип кадра, а протоколы SDLC и LAPB (в этих протоколах нет команды выборочного отказа, а кадры типа 3 не используются).

Третий класс кадров составляют ненумерованные кадры. Иногда они применяются для служебных целей, но могут переносить и данные, когда требуется ненадежный, не требующий соединения сервис. В отличие от предыдущих двух классов, в которых различные бит-ориентированные протоколы были почти идентичными, в вопросе использования ненумерованных кадров они очень сильно различаются. Для обозначения типа

47

кадра зарезервировано 5 бит, однако используются значительно меньше, чем 32 возможных комбинации.

Все протоколы поддерживают команду DISC (DISConnect — Прервать связь), позволяющую предупредить, что скоро узел будет выключен (например, для профилактического обслуживания). Также имеется команда, позволяющая узлу, только что вернувшемуся в подключенный режим (on-line), заявить о своем присутствии и принудительно обнулить все порядковые номера. Эта команда называется SNRM (Set Normal Response Mode — Установить нормальный режим ответа). Этот «нормальный режим» - несбалансированный (то есть асимметричный) режим, при котором один конец канала является Ведущим (Master), а другой — Ведомым (Slave). Команда SNRM удобна, когда обмен данными реализован асимметричным. Чтобы лучше учитывать ситуацию равноправных узлов в сети, в протоколы HDLC и LAPB была добавлена команда SABM (Set Asynchronous Balanced Mode — Установить асинхронный сбалансированный режим), которая инициализирует канал и объявляет равенство узлов. Кроме того, в этих протоколах имеются дополнительные команды SABME и SNRME, которые отличаются от SABM и SNRM только тем, что вводят расширенный формат кадров с 7-битовым порядковым номером вместо 3-битового.

Третьей командой является FRMR (FRaMe Reject — Отклонить кадр), применяющейся, когда приходит кадр с верной контрольной суммой, но недопустимой семантикой. Например, супервизорный кадр типа 3 в протоколе LAPB, кадр длиной менее 32 бит, недопустимый управляющий кадр или подтверждение кадра, находящегося вне пределов окна и т. д. Данные включают управляющее поле неправильного кадра, параметры окна и набор битов, указывающих на тип ошибки.

Управляющие кадры могут быть повреждены или потеряны так же, как и информационные кадры, поэтому им также нужны подтверждения. Для этой цели предназначен специальный служебный кадр, называемый UA (Unnumbered Acknowledgement — Ненумерованное подтверждение). Поскольку неподтвержденным может быть только один управляющий кадр, то не возникает вопроса о том, какой именно служебный кадр подтверждается.

Остальные управляющие кадры занимаются инициализацией, опросом и сообщением состояния. Есть также управляющий кадр, который может содержать произвольную информацию, Ш (Unnumbered Information). Эта информация не передается на сетевой уровень, но получается и обрабатывается самим уровнем передачи данных.

Несмотря на широкое распространение, протокол HDLC имеет большое количество недостатков.

48

Вопросы для самопроверки по теме - Примеры протоколов передачи данных

1. Какие элементы конечных автоматов используются для моделирования протоколов передачи данных?

2.Определите элементы появления тупика в протоколе.

3.Поясните элементы в форматах бит-ориентированных протоколов.

2.5. Уровень передачи данных в Интернете

Point-to-Point Protocol (РРР) - выполняет обнаружение ошибок, поддерживает несколько протоколов, позволяет динамически изменять IP-адреса во время соединения, разрешает аутентификацию, а также имеет ряд других свойств.

РРР обеспечивает набор методов:

1.Метод формирования кадров, однозначно обозначающий конец одного кадра и начало следующего. Формат кадров также обеспечивает обнаружение ошибок.

2.Протокол управления каналом, позволяющий устанавливать каналы связи, тестировать их, договариваться о параметрах их использования и снова отключать их, когда они не нужны. Этот протокол называется -Link Control Protocol (LCP). Он поддерживает синхронные и асинхронные линии, бит- и байт-ориентированное кодирование.

3.Способ договориться о параметрах сетевого уровня, который не зависит от используемого протокола сетевого уровня. Для каждого поддерживаемого сетевого уровня этот метод должен иметь свой сетевой протокол управления - Network Control Protocol (NCP)).

Клиент через персональный компьютер, модем и телефонный канал соединяется с провайдером. Когда установится модемный канал клиент посылает провайдеру серию LCP - пaкетов или несколько РРР-кадров. Эти пакеты и ответы на них определяют параметры протокола РРР.

После того как обе стороны согласовывают параметры, посылается серия NCP-пакетов для настройки сетевого уровня. Обычно клиент через персональный компьютер желает запустить стек протоколов TCP/IP, для чего ему нужен IP-адрес. На всех клиентов IP-адресов не хватает, поэтому обычно у провайдера услуг Интернета имеется целый набор таких адресов, и он динамически назначает их каждому присоединившемуся персональному компьютеру на время сеанса связи. Для назначения IP-адреса используется протокол NCP.

NCP используется, чтобы разорвать соединение сетевого уровня и освободить IP-адрес, Затем LCP используется для разрыва соединения уровня передачи данных. Наконец, компьютер дает модему команду повесить трубку, чем освобождает линию на физическом уровне.

Выбран формат кадра РРР, близкий к формату кадра HDLC. В отличие от бит-ориентированного протокола HDLC, РРР является байт-ориентированным.

49

В РРР применяется символьное заполнение на модемных телефонных линиях, поэтому все кадры состоят из целого числа байтов. С помощью протокола HDLC возможно послать кадр, состоящий из 30,25 байт. Кадры РРР могут посылаться по телефонным линиям и по бит-ориентированным HDLCлиниям (по линиям, соединяющим маршрутизаторы).

Все РРР - кадры начинаются с байта-флага протокола HDLC (01111110). Если такой байт встречается в поле данных, то применяется символьное заполнение. Следом за ним идет поле Address, которому всегда присваивается двоичное значение 11111111, что означает, что все станции должны принимать этот кадр. Использование такого адреса позволяет избежать необходимости назначения адресов передачи данных.

За полем адреса следует поле Control, его значение по умолчанию равно 00000011. Это число означает ненумерованный кадр. Другими словами, РРР по умолчанию не обеспечивает надежной передачи с использованием порядковых номеров и подтверждений. В беспроводной связи может применяться надежная передача с порядковыми номерами (RFC 1663).

Поля Address и Control известны и протокол LCP предоставляет возможность двум узлам в сети договориться о возможности пропускать оба поля и сэкономить, таким образом, по 2 байта на кадр.

Четвертое поле кадра РРР - Protocol - определяет тип пакета, содержащегося в поле данных (Payload). Определены коды для протоколов LCP, NCP, IP, IPX, AppleTalk. Номера протоколов: IP, IPX, OSI CLNP, XNS начинаются с бита 0. С бита 1 начинаются коды, используемые для переговоров об использовании других протоколов. К ним относятся LCP, а также различные протоколы NCP для каждого поддерживаемого протокола сетевого уровня. Размер поля Protocol по умолчанию составляет 2 байта, однако путем переговоров с помощью LCP этот размер может быть уменьшен до 1 байта.

Поле Payload (поле полезной нагрузки, или поле данных) может быть переменной длины. Если размер не оговорен во время установки соединения при помощи LCP, то по умолчанию он может составлять до 1500 байт. При необходимости данные пользователя могут дополняться специальными символами.

За полем Payload располагается поле Checksum (контрольная сумма), которое занимает 2 байта, но может занимать 4 байта.

РРР является механизмом формирования кадров, поддерживающим различные протоколы, которым можно пользоваться при модемных соединениях. РРР поддерживает обнаружение ошибок, переговоры о параметрах, сжатие заголовков, а также соединение с использованием кадров

HDLC.

Отметим способы Установления и Разрыва соединения.

Начальное состояние: линия отключена (DEAD), физический носитель отсутствует, соединения на физическом уровне не существует. После того как физическое соединение установлено, линия переходит в состояние ESTABLISH (Установка). В этот момент начинаются переговоры о параметрах с помощью протокола LCP. При успешном результате переговоров линия переходит в фазу

50

AUTHENTICATE (Идентифицировать). Теперь обе стороны по желанию могут проверить, кем является собеседник. При переходе к фазе NETWORK (Сеть) включается соответствующий протокол NCP для настройки сетевого уровня. Если настройка проходит успешно, линия переходит в фазу OPEN (Открытая), при этом может осуществляться передача данных. Когда передача данных закончена, линия переходит к фазе TERMINATE (Завершение), а затем снова в состояние DEAD (Отключена), когда физическое соединение разрывается.

Протокол LCP используется для реализации механизма переговоров об используемых параметрах уровня передачи данных во время установочной фазы (ESTABLISH). Он реализует процесс подачи предложения и поддерживает ответный процесс принятия или отказа от поданного предложения целиком или частично. Кроме того, он предоставляет методы проверки качества линии, чтобы договаривающиеся процессы могли решить, стоит ли вообще устанавливать соединение на этой линии. Наконец, протокол LCP позволяет отключить линию, если она больше не используется.

В RFC 1661 определены одиннадцать типов LCP-пакетов. Четыре первых типа, имена которых содержат слово Configure (Конфигурировать), позволяют Инициатору переговоров (I) предложить значения параметров, а Ответчику (R) принять или отказаться от них. В последнем случае Ответчик может выдвинуть встречное заявление о том, что он вообще не хочет вести переговоры. Обсуждаемые параметры и их значения являются частью LCP-пакета.

Коды, начинающиеся со слова Terminate (Завершить), используются для отключения линии, когда она перестает использоваться. Коды Code-reject (Код отвергнут) и Protocol-reject (Протокол отвергнут) применяются Ответчиком для сообщения, что он получил что-то непонятное. Это может означать, что произошла ошибка при передаче пакета или Инициатор и Ответчик используют разные версии протокола LCP. Пакеты, названия которых начинаются с Echo (Эхо), применяются для проверки качества линии. Discard-request используется для отладки (если ему удается пройти по линии, он игнорируется Ответчиком, чтобы не мешать специалисту осуществлять отладку канала).

Обсуждаемые параметры могут включать: установку максимального размера поля полезной нагрузки информационных кадров, разрешение аутентификации, выбор используемого протокола, разрешение на проверку качества линии во время нормальной работы, а также выбор различных параметров сжатия заголовков.

Каждый из NCP используется со своим сетевым протоколом и позволяет осуществлять переговоры о параметрах, специфичных для своего протокола. Например, для протокола IP важнейшим свойством является возможность назначения динамического IP-адреса.

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

Используются различные методы кадрирования, включая подсчет символов, символьное и битовое заполнение.

51

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]