|
2.3.1. Асинхронные протоколы
Асинхронные протоколы представляют собой наиболее старый способ связи. Эти протоколы оперируют не с кадрами,
а с отдельными символами, которые представлены байтами со старт-стоповыми символами. Асинхронные протоколы ведут свое
происхождение от тех времен, когда два человека связывались с помощью телетайпов по каналу «точка-точка». С развитием техники
асинхронные протоколы стали применяться для связи телетайпов, разного рода клавиатур и дисплеев с вычислительными машинами.
Единицей передаваемых данных был не кадр данных, а отдельный символ. Некоторые символы имели управляющий характер, например
символ <CR> предписывал телетайпу или дисплею выполнить возврат каретки на начало строки. В этих протоколах существуют
управляющие последовательности, обычно начинающиеся с символа <ESC>. Эти последовательности вызывали на управляемом устройстве
достаточно сложные действия - например, загрузку нового шрифта на принтер.
В асинхронных протоколах применяются стандартные наборы символов, чаще всего ASCII или EBCDIC. Так как первые
32 или 27 кодов в этих наборах являются специальными кодами, которые не отображаются на дисплее или принтере, то они
использовались асинхронными протоколами для управления режимом обмена данными. В самих пользовательских данных, которые
представляли собой буквы, цифры, а также такие знаки, как @, %, $ и т. п., специальные символы никогда не встречались, так что
проблемы их отделения от пользовательских данных не существовало.
Постепенно асинхронные протоколы усложнялись и стали наряду с отдельными символами использовать целые блоки
данных, то есть кадры. Например, популярный протокол XMODEM передает файлы между двумя компьютерами по асинхронному модему.
Начало приема очередного блока файла инициируется символьной командой - принимающая сторона постоянно передает символ ASCII NAK.
Передающая сторона, приняв NAK, отправляет очередной блок файла, состоящий из 128 байт данных, заголовка и концевика.
Заголовок состоит из специального символа SOH (Start Of Header) и номера блока. Концевик содержит контрольную сумму блока
данных. Приемная сторона, получив новый блок, проверяла его номер и контрольную сумму. В случае совпадения этих параметров с
ожидаемыми приемник отправлял символ АСК, а в противном случае - символ NAK, после чего передатчик должен был повторить передачу
данного блока. В конце передачи файла передавался символ ЕОХ.
Как видно из описания протокола XMODEM, часть управляющих операций выполнялась в асинхронных протоколах
посылкой в асинхронном режиме отдельных символов, в то же время часть данных пересылалась блоками, что более характерно для
синхронных протоколов.
|