Байт-ориентированные и бит-ориентнрованные протоколы
В синхронных протоколах между пересылаемыми символами (байтами) нет стартовых и стоповых сигналов, поэтому отдельные символы в этих протоколах пересылать нельзя. Все обмены данными осуществляются кадрами, которые имеют в общем случае заголовок, поле данных и концевик. Все биты кадра передаются непрерывным синхронным потоком, что значительно ускоряет передачу данных. Так как байты в этих протоколах не отделяются друг от друга служебными сигналами, то прежде всего приемник должен распознать границы байт. Затем приемник должен найти начало и конец кадра, а также определить границы каждого поля кадра - адреса назначения, адреса источника, служебных полей заголовка, поля данных и контрольной суммы, если она имеется. • Большинство протоколов допускает использование в кадре поля данных переменной длины. Иногда и заголовок может быть переменной длины. Обычно протоколы определяют максимальное значение длины поля данных - максимальную единицу передачи данных (MTU - Maximum transfer Unit). В некоторых протоколах задается также минимальное значение длины поля данных. Например, протокол Ethernet требует, чтобы поле данных содержало не менее 46 байт данных (если приложение хочет отправить меньшее количество байт, то оно обязано дополнить их до 46 байт любыми значениями). Другие протоколы разрешают использовать поле данных нулевой длины, например FDDI. Существуют протоколы с кадрами фиксированной длины, например, в сетях ATM кадры имеют фиксированный размер 53 байт, включая служебную информацию. Для таких протоколов необходимо решить только первую часть задачи - распознать начало кадра. Синхронные протоколы канального уровня бывают двух типов: байт-ориентированные (иногда их называют символьно-ориентированные или знакориентированные) и бит-ориентированные. Для них характерны одни и те же методы синхронизации бит. Главное различие между ними заключается в методе синхронизации символов и кадров. Байт-ориентированные протоколы. Эти протоколы используют в основном для передачи блоков отображаемых символов, например текстовых файлов. При синхронной передаче стоповые и стартовые биты отсутствуют. Синхронизация здесь осуществляется за счет того, что передатчик добавляет два или более управляющих символа - символы синхронизации (SYN) - перед каждым блоком символов. В коде ASCII символ SYN имеет двоичное значение 00010110 (16Л), это несимметричное относительно начала символа значение позволяет легко разграничивать отдельные символы SYN при их последовательном приеме. Символы SYN выполняют две функции: во-первых, они обеспечивают приемнику побитную синхронизацию, во-вторых, как только битовая синхронизация достигается, они позволяют приемнику начать распознавание границ символов SYN. После того как приемник начал отделять один символ от другого, можно задавать границы начала кадра с помощью другого специального символа. Обычно в символьных протоколах для этих целей используется символ STX (Start of TeXt)-02h. Другой символ - ЕТХ (End of TeXt)- 03h -отмечает окончание кадра. Однако такой простой способ выделения начала и конца кадра хорошо работает только в том случае, если внутри кадра нет символов STX и ЕТХ. При подключении к компьютеру алфавитно-цифровых терминалов такая задача действительно не возникает. Тем не менее, синхронные байт-ориентированные протоколы позднее стали использовать и для связи компьютера с компьютером, а в этом случае данные внутри кадра могут быть любые, когда, например, между компьютерами передается программа. Наиболее популярными протоколами такого типа являются протоколы ЮМ-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, называемой флагом. Термин «биториентированный» используется потому, что принимаемый поток битов сканируется приемником на побитовой основе для обнаружения стартового флага, а затем во время приема для обнаружения стопового флага. Поэтому длина кадра в этом случае не обязательно должна быть кратна байту.
Рис. 2.21. Способы выделения начала и конца кадра в бит-ориентированных протоколах |
Чтобы обеспечить синхронизацию приемника, передатчик посылает последовательность байтов простоя (11111111), предшествующую стартовому флагу. Для достижения прозрачности данных в этой схеме необходимо, чтобы флаг не присутствовал в поле данных кадра. Это достигается с помощью приема, известного как вставка 0-го бита, - битстаффинга. Схема вставки бита работает только во время передачи поля данных кадра. Если эта схема обнаруживает, что подряд передано пять единиц, то она в любом случае автоматически вставляет дополнительный ноль. Поэтому последовательность 01111110 никогда не появится в поле данных кадра. Аналогичная схема работает в приемнике и выполняет обратную функцию. Когда после пяти единиц обнаруживается ноль, он автоматически удаляется из поля данных кадра. Битстаффинг экономичнее байтстаффинга, так как вместо лишнего байта вставляется один бит, следовательно, скорость передачи пользовательских данных в этом случае снижается медленнее. Во второй схеме (см. рис. 2.21, б) для обозначения начала кадра предусмотрен только стартовый флаг, а для определения конца кадра используется поле длины кадра, которое при фиксированных размерах заголовка и концевика чаще всего имеет смысл длины поля данных кадра. Эта схема наиболее применима в локальных сетях, в которых для обозначения факта незанятости среды вообще не передается никаких символов. Чтобы все остальные станции вошли в битовую синхронизацию, посылающая станция предваряет содержимое кадра последовательностью бит, известной как преамбула, которая состоит из чередования единиц и нулей 101010... Войдя в битовую синхронизацию, приемник исследует входной поток на побитовой основе, пока не обнаружит байт начала кадра 10101011, который выполняет роль символа STX. За этим байтом следует заголовок кадра, в котором в определенном месте находится поле длины поля данных. Таким образом, в этой схеме приемник просто отсчитывает заданное количество байт, чтобы определить окончание кадра.
Третья схема (см. рис. 2.21, в) для обозначения начала и конца кадра использует флаги, которые включают запрещенные для данного кода сигналы (code violations, V). Например, при манчестерском кодировании вместо обязательного изменения полярности сигнала в середине тактового интервала уровень сигнала остается неизменным и низким (запрещенный сигнал J) или неизменным и высоким (запрещенный сигнал К). Начало кадра отмечается последовательностью Ж0JK000, а конец - последовательностью Ж1Ж111. Этот способ очень экономичен, так как не требует ни битстаффинга, ни поля длины. Недостатком этого способа является то, что он зависит от принятого метода физического кодирования. При использовании избыточных кодов роль сигналов J и К играют запрещенные символы, например, в коде 4В/5В этими символами являются коды 11000 и 10001. Каждая из трех схем имеет свои преимущества и недостатки. Флаги позволяют отказаться от специального дополнительного поля, но требуют специальных мер: либо по разрешению размещения флага в поле данных за счет битстаффинга, либо по использованию в качестве флага запрещенных сигналов, что делает эту схему зависимой от способа кодирования.
Еще по теме Байт-ориентированные и бит-ориентнрованные протоколы:
- Глава 4. Киотский протокол в Украине
- § 6. Протокол судебного заседания
- Судебные протоколы вообще
- Пример обработки протокола.
- Базовый протокол устранения проблемы с BSFF
- ТЕСТ КРИТЕРИАЛЬНО - ОРИЕНТИРОВАННЫЙ
- Г.С.Иванова, Т.Н.Ничушкина, Е.К.Пугачев. Объектно- ориентированное программирование, 2001
- В. Г. Олифер, Н. А. Олифер. 54 Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. 3-е изд, 2006
- 1. На кого ориентироваться?
- ПОДХОД ТЕЛЕСНО-ОРИЕНТИРОВАННЫЙ
- ТЕРАПИЯ ТЕЛЕСНО-ОРИЕНТИРОВАННАЯ
- СМИ и информационный порядок в демократическом, гуманистически ориентированном обществе.
- 4. Помимо чувствительности вы должны ориентировать ребенка и на воспитание душевной стойкости и чувства собственного достоинства
- 4. Детей надо ориентировать на труд. Правда, помноженная на трудовое усилие, – едва ли не главный воспитатель личности
- Наша душа и есть то, на что надо ориентироваться, и что придаёт жизни счастливый смысл
- 9. Мы ориентировались на бедность, гордились бедностью и учили ненавидеть богатство. Педагогика Любви и Свободы ведет к богатству и изобилию