Синхронные протоколы. Символьно ориентированные протоколы

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

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

Большинство протоколов допускает использование в кадре поля данных переменной длины. Обычно протоколы определяют максимальное значение, которое может иметь длина поля данных. Эта величина называется максимальной единицей передачи данных (Maximum Transfer Unit, MTV). В некоторых протоколах задается также минимальное значение, которое может иметь длина поля данных. Существуют также протоколы с кадрами фиксированной длины.

Символьно-ориентированные протоколы используются в основном для передачи блоков отображаемых символов, например текстовых файлов. Так как при синхронной передаче нет стоповых и стартовых битов, для синхронизации символов необходим другой метод. Синхронизация достигается за счет того, что передатчик добавляет два или более управляющих символа, называемых символами SYN, перед каждым блоком символов. Символы SYN выполняют две функции: во- первых, они обеспечивают приемнику битовую синхронизацию, во-вторых, как только битовая синхронизация достигается, они позволяют приемнику начать распознавание границ символов SYN. После того как приемник начал отделять один символ от другого, можно задавать границы начала кадра с помощью другого специального символа. Обычно в символьных протоколах для этих целей используются символы STX (Start of TeXt, ASCII 0000010) и ЕТХ (End of TeXt, ASCII 0000011).

Такой способ выделения начала и конца кадра работает только в том случае, если внутри кадра не было символов STX и ЕТХ. В момент разработки протоколов такая задача не возникала. Когда протоколы начали использоваться для связи компа с компом, то эта проблема возникла, т.к. при таком виде связи внутри кадра могут находиться любые данные.

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



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



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