Добавил:
sergeevpavel0406@mail.ru СОВА Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика в техническом университете / Информатика в техническом университете. Телекоммуникации и сети

.pdf
Скачиваний:
131
Добавлен:
06.03.2018
Размер:
23.39 Mб
Скачать

2. Основы телекоммуникации

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

Основными характеристиками метода передачи, работающего на каналь­ ном уровне, являются следующие:

асинхронный/синхронный;

байт-ориентированный/бит-ориентированный;

с предварительным установлением соединения/дейтаграммный;

с обнаружением искаженных данных/без обнаружения;

с обнаружением потерянных данных/без обнаружения;

с восстановлением искаженных и потерянных данных/без восстановле­

ния;

с поддержкой динамической компрессии данньгх/без поддержки.

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

Асинхронные протоколы

Асинхронные протоколы представляют собой один из первых способов свя­ зи. Эти протоколы оперируют не с кадрами, а с отдельными символами, кото­ рые представлены байтами со старт-стоповым обрамлением.

В асинхронных протоколах применяются стандартные наборы символов, чаще всего ASCII или EBCDIC. Первые 32 или 27 кодов в этих наборах явля­ ются специальными. Они не отображаются на дисплее или принтере и исполь­ зуются асинхронными протоколами для управления режимом обмена данны­ ми. В самих пользовательских данных, которые представляют собой буквы, цифры, а также такие знаки, как @, %, $ и т. п., специальные символы никогда не встречаются, так что проблемы их отделения от пользовательских данных не существует.

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

ПО

2.3. Методы и технологии передачи данных

Байт-ориентированные и бит-ориентированные протоколы

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

Большинство протоколов допускает использование в кадре поля да1шых пе­ ременной длины. Иногда и заголовок может быть переменной длины. Обьршо протоколы определяют максимальное значение длины поля данных - макси­ мальную eduHuify передачи данных (MTU - Maximiun transfer Unit). В неко­ торых протоколах задается также минимальное значение длины поля данных. Например, протокол Ethernet требует, чтобы поле данных содержало не менее 46 байт данных (если приложение хочет отправить меньшее количество байт, то оно обязано дополнить их до 46 байт любыми значениями). Другие протоко­ лы разрешают использовать поле данных нулевой длины, например FDDI.

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

Синхронные протоколы канального уровня бывают двух типов: байт-ори­ ентированные (иногда их называют символьно-ориентированные или знакориентированные) и бит-ориентированные. Для них характерны одни и те же методы синхронизации бит. Главное различие между ними заключается в ме­ тоде синхронизации символов и кадров.

Байт-ориентированные протоколы. Эти протоколы используют в ос­ новном для передачи блоков отображаемых символов, например текстовых файлов. При синхронной передаче стоповые и стартовые биты отсутствуют. Синхронизация здесь осуществляется за счет того, что передатчик добавляет два или более управляющих символа - символы синхронизации (SYN) - перед каждым блоком символов. В коде ASCII символ SYN имеет двоичное значе­ ние 00010110 (16Л), это несимметричное относительно начала символа значе­ ние позволяет легко разграничивать отдельные символы SYN при их последо­ вательном приеме. Символы SYN выполняют две функции: во-первьпс, они обеспечивают приемнику побитную синхронизацию, во-вторых, как только би­ товая синхронизация достигается, они позволяют приемнику начать распозна­ вание границ символов SYN. После того как приемник начал отделять один символ от другого, можно задавать границы начала кадра с помощью другого

111

2. Основы телекоммуникации

специального символа. Обычно в символьных протоколах для этих целей ис­ пользуется символ STX (Start ofTeXt)-02h. Другой символ - ЕТХ (End ofTeXt)- 03h -отмечает окончание кадра.

Однако такой простой способ вьщеления начала и конца кадра хорошо рабо­ тает только в том случае, если внутри кадра нет символов STX и ЕТХ. При подключении к компьютеру алфавитно-цифровых терминалов такая задача действительно не возникает. Тем не менее, синхронные байт-ориентированные протоколы позднее стали использовать и для связи компьютера с компьюте­ ром, а в этом случае данные внутри кадра могут быть любые, когда, например, между компьютерами передается программа. Наиболее популярными прото­ колами такого типа являются протоколы IBM-2848 и BSC компании ЮМ. Про­ токол BSC работает в двух режимах - непрозрачном (некоторые специальные символы внутри кадра запрещены) и прозрачном (разрешена передача внутри кадра любых символов, в том числе и ЕТХ). Прозрачность достигалась за счет байтстаффиига - перед управляющими символами STX и ЕТХ всегда вставлялся символ DLE (Data Link Escape). Такая процедура называется встав­ кой символов или. Если в поле данных кадра встречается последовательность DLE ЕТХ, то передатчик удваивает символ DLE, т. е. порождает последова­ тельность DLE DLE ЕТХ. Приемник, встретив подряд два символа DLE DLE, всегда удаляет первый, но оставшийся DLE уже не рассматривает как начало управляющей последовательности, т. е. оставшиеся символы DLE ЕТХ вос­ принимается как пользовательские данные.

Бит-ориентированные протоколы. Потребность в паре символов в на­ чале и конце каждого кадра вместе с дополнителып>п^и символами DLE озна­ чает, что байт-ориентированная передача не эффективна для передачи двоич­ ных данных, так как приходился в поле данных кадра добавлять достаточно много избыточных данных. Кроме того, формат управляющих символов для разных кодировок различен, например, в коде ASCII символ SYN равен 0010110, а в коде EBCDIC - 00110010. Следовательно этот метод допустим только с определенным типом кодировки, даже если кадр содержит только двоичные данные. Чтобы это преодолеть используют более универсальный метод бит-ориентированной передачи. Этот метод в настояшее время применяется при передаче как двоичных, так и символьных данных.

На рис. 2.21 показаны схемы биг-ориентированной передачи, отличающие­ ся способом обозначения начала и конца каждого кадра. Схема, представлен­ ная на рис. 2.21, а, похожа на схему с символами STX и ЕТХ в байт-ориентиро­ ванных протоколах. Начало и конец каждого кадра отмечены одной и той же 8-битовой последовательностью -01111110, называемой флагом. Термин «биториентированный» используется потому, что принимаемый поток битов скани­ руется приемником на побитовой основе для обнаружения стартового флага, а затем во время приема для обнаружения стопового флага. Поэтому длина кад­ ра в этом случае не обязательно должна бьггь кратна байту.

112

2.3. Методы и технологии передачи данных

Синхробайты простоя <^

i

Направление передачи

Синхробайты простоя

•>1

 

 

К

0 1 1 1 1 1 1 0

0 1 1 1 1 1 1 0

 

1 1 0 0 1 1 0 1 1 1 1 1 ( ? 1 0 1 0 1 1 1 1 1 ( ? 0 1 . . 1 0

 

 

 

 

 

Бигстаффинг

 

 

Открывающий

Содержимое кадра

 

 

Закрывающий

флаг

 

 

 

флаг

 

 

 

 

 

 

 

10 10 1 0... 1 О 1 0 1 0 1 0 1 1

 

 

 

 

 

 

1 ^

->1^

Фиксиро-

Длина

Поле

> | < — ^

Преамбула

 

 

Фиксиро-

 

Указатель >к—ж—ж^

 

 

начала кадра

ванный

в байгах

данных

ванный

 

 

 

заголовок

поля

 

 

концевик

 

 

 

 

 

данных

 

 

Преамбула

JKOJKOOO

 

Содержимое кадра

J K 1 J K 1 1 1

 

к

Флаг начала^

 

 

 

k Флаг конца J

 

 

кадра

 

 

 

 

 

кадра

Манчестерский код флага начала кадра

 

 

 

 

Lm1

 

К

 

 

К

LMJ

Преамбула

 

 

 

 

 

 

 

 

^

 

 

 

 

 

 

 

 

Рис. 2.21. Способы выделения начала и конца кадра в бит-ориентированных протоколах

113

2. Основы телекоммуникации

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

Во второй схеме (см. рис. 2.21, б) для обозначения начала кадра предус­ мотрен только стартовый флаг, а для определения конца кадра используется поле длины кадра, которое при фиксированных размерах заголовка и концевика чаще всего имеет смысл длины поля данных кадра. Эта схема наиболее при­ менима в локальных сетях, в которых для обозначения факта незанятости сре­ ды вообще не передается никаких символов. Чтобы все остальные станции вошли в битовую синхронизацию, посьшающая станция предваряет содержи­ мое кадра последовательностью бит, известной как преамбула, которая состо­ ит из чередования единиц и нулей 101010... Войдя в битовую синхронизацию, приемник исследует входной поток на побитовой основе, пока не обнаружит байт начала кадра 10101011, который вьшолняет роль символа STX. За этим байтом следует заголовок кадра, в котором в определенном месте находится поле длины поля данных. Таким образом, в этой схеме приемник просто отсчи­ тывает заданное количество байт, чтобы определить окончание кадра.

Третья схема (см. рис. 2.21, в) для обозначения начала и конца кадра ис­ пользует флаги, которые включают запрещенные для данного кода сигналы (code violations, V). Например, при манчестерском кодировании вместо обяза­ тельного изменения полярности сигнала в середине тактового интервала уро­ вень сигнала остается неизменным и низким (запрещенный сигнал J) или неиз­ менным и высоким (запрещенный сигнал К). Начало кадра отмечается последовательностью ЖОЖООО, а конец - последовательностью Ж1Ж111. Этот способ очень экономичен, так как не требует ни битстаффинга, ни поля длины. Недостатком этого способа является то, что он зависит от принятого метода физического кодирования. При использовании избыточных кодов роль сигна­ лов J и К играют запрещенные символы, например, в коде 4В/5В этими симво­ лами являются коды 11000 и 10001.

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

114

2.3. Методы и технологии передачи данных

Протоколы с переменным форматом кадра

Существует ряд протоколов, в которых кадры имеют гибкую структуру. К таким протоколам относятся популярный прикладной протокол управления се­ тями SNMP и протокол канального уровня РРР, используемый для соединений типа «точка-точка». Кадры таких протоколов состоят из неопределенного ко­ личества полей, каждое из них может иметь переменную длину.

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

Передача с установлением логического соединения и без установле­ ния логического соединения. При передаче кадров данных на канальном уровне используют дейтаграммные процедуры, работающие без установления логического соединения (connectionless), и процедуры с предварительным ус­ тановлением логического соединения (connection-oriented) (рис. 2.22).

 

Узел 1

Узел 2

а

 

t==

 

 

Данные

 

 

 

Данные

б

Запрос

Прием

установления

 

 

запроса

 

соединения

 

 

установления

Подтверждение

установления

соединения

Данные

Квитанция

подтверждения

Запрос

разрыва

соединения

Подтверждение

разрыва

соединения

Рис. 2.22. Протоколы без установления соединения (а) и с установлением соединения (б)

115

2. Основы телекоммуникации

При дейтаграммной передаче кадр посылается в сеть «без предупрежде­ ния», и никакой ответственности за его утерю протокол не несет (см. рис. 2.22, а). Предполагается, что сеть всегда готова принять кадр от конечного узла. Дейтаграммный метод работает быстро, так как никаких предварительных дей­ ствий перед отправкой данных не вьшолняется. Однако при таком методе трудно организовать в рамках протокола отслеживание факта доставки кадра узлу назначения. Этот метод не гарантирует доставку пакета.

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

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

Процедура установления соединения используется:

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

для согласования изменяемых параметров протокола: MTU, различных тайм-аутов и т. п.;

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

В некоторых технологиях процедуру установления логического соединения используют при динамической настройке коммутаторов сети для маршрутиза­ ции всех последующих кадров, которые будут проходить через сеть в рамках данного логического соединения. Так работают сети технологий Х.25, Frame relay и ATM.

116

2.3. Методы и технологии передачи данных

Обнаружение и коррекция ошибок

Канальный уровень должен обнаруживать ошибки передачи данных, свя­ занные с искажением бит в принятом кадре данных или с потерей кадра, и по возможности их корректировать. Большая часть протоколов канального уров­ ня вьшолняет только одну задачу - обнаружение ошибок, считая, что коррек­ тировать ошибки, т. е. повторно передавать данные, содержавшие искажен­ ную информацию, должны протоколы верхних уровней. Так работают известные протоколы локальных сетей Ethernet, Token Ring, FDDI и др. Однако существу-

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

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

Напротив, если в сети искажения и потери происходят часто, то желательно уже на канальном уровне использовать протокол с коррекцией ошибок, а не оставлять эту работу протоколам верхних уровней. Протоколы верхних уров­ ней, например транспортного или прикладного, работая с большими тайм-аута­ ми, восстановят утерянные данные с большой задержкой. В глобальных сетях первых поколений, например сетях Х.25, которые использовали ненадежные ка­ налы связи, протоколы канального уровня всегда вьшолняли процедуры вос­ становления потерянньпс и искаженных кадров. Поэтому нельзя считать, что один протокол лучше другого потому, что он восстанавливает ошибочные кад­ ры, а другой протокол нет. Каждый протокол должен работать в тех условиях, для которых он разработан.

Методы коррекции ошибок, основанные на протоколах канального уровня, описаны в § 2.2. Рассмотрим вопрос восстанавления искаженных помехами данных.

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

117

2. Основы телекоммуникации

ЧТО данный кадр нужно передать повторно. Процесс обмена квитанциями на­ зывается автоматическим запросом повторения - ARQ (Automatic Repeat reguest).

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

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

В методе «скользящего окна» (sliding window) для повышения коэффици­ ента использования линии источнику разрешается передать некоторое количе­ ство кадров в непрерывном режиме, т. е. в максимально возможном для ис­ точника темпе, без получения на эти кадры положительных ответных квитанций. Количество кадров, которые разрешается передавать таким образом, назьшается размером окна. Рис. 2.23, а иллюстрирует данный метод для передаю­ щего окна размером в РГкадров. В началып>1Й момент, когда еще не послано ни одного кадра, окно определяет диапазон кадров с номерами от 1 до РГвключи­ тельно. Источник начинает передавать кадры и получать в ответ квитанции. Квитанции канального уровня поступают в той же последовательности, что и кадры, которым они соответствуют. В момент t^ при получении первой квитан­ ции К^ окно сдвигается на одну позицию, определяя новый диапазон от 2 до (^Г+ 1).

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

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

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

кадры с номерами от (л + 1) до /w, которые уже отправлены, но квитанции на них еще не получены;

кадры с номерами от m до (^Г + п), которые пока не отправлены, хотя запре­ та на это нет.

118

2.3. Методы и технологии передачи данных

 

W,

к-

 

W„

- ^

 

 

 

 

 

 

 

 

1 ^

Wa

 

• ^

 

 

^

 

±1

 

 

 

 

 

 

 

 

W W+1

 

W+n

 

 

«+1

т

 

 

 

 

 

^

К,

К2

к„

 

 

• >

 

 

 

 

 

- >

to

/N

IV„

 

 

r^

 

 

^

 

 

 

 

 

 

 

 

 

Направление скольжения окна

 

te

W,

 

 

 

 

J^o

^

 

 

±L

 

>

О

1 2

w+1

^

w+l

W+n Номера кадров

Рис. 2.23. Метод скользящего окна:

t^ - исходный момент, /, и Г^ - моменты прихода квитанций на 1- и w-й кадр соответственно

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

Перемещение окна вдоль последовательности номеров кадров показано на рис. 2.23, б. Каждый раз, когда приходит положительная квитанция, окно сдви­ гается, но его размер при этом не меняется и остается равным W, При отправ­ ке кадра с номером п источнику разрешается передать еще W- I кадров до получения квитанции на кадр л, так что в сеть последним уйдет кадр с номе­ ром (W + п-1). Если же за это время квитанция на кадр п так и не пришла, то процесс передачи приостанавливается, и по истечении некоторого тайм-аута кадр п (или квитанция на него) считается утерянным, и его передают снова. Если поток подтверждений поступает регулярно, в пределах допуска в ^Гкад­ ров, то скорость обмена достигает максимально возможной для данного кана­ ла и принятого протокола.

119