русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Протоколы передачи данных

Протоколы, ориентированные на использование командных кодов

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

  1. XON/XOFF
  2. ACK/NAK
  3. ETX/ACK

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

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

Протоколы ACK/NAK и ETX/ACK считаются протоколами высокого уровня, поскольку они требуют установки специальных интерфейсных программ, называемых драйверами устройств (device drivers). В обоих протоколах для выполнения таких функций, как обеспечение целостности передаваемых данных, управление потоком, запросы передачи и т.п. применяются специальные управляющие символы и последовательности управляющих кодов.

Протокол ACK/NAK получил свое название по названию управляющих символов стандарта ASCII — AC Knowledge (уведомление об успешном приеме данных) и Not ACKnowledge (отсутствие уведомления об успешном приеме данных). Эти символы используются в качестве средства исправления ошибок переданных данных. В основном, протокол ACK/NAK предполагает, что блоку данных предшествует символ Start-Of-Text (начало текста, STX), а за блоком следуют символ End-Of-Text (конец текста, ЕТХ) и код проверки наличия ошибок. На приемном конце выполняется контроль символа проверки блока (Block Check Character, ВСС) на предмет ошибок. В зависимости от результата проверки возвращается либо сигнал АСК, свидетельствующий об успешности передачи, либо сигнал NAK, свидетельствующий о возникновении ошибки. В случае возврата сигнала NAK передающее устройство отвечает повтором передачи всего блока.

Протокол ETX/ACK несколько проще протокола ACK/NAK, поскольку какие-либо проверки символов не выполняются. Если принимающее устройство не возвращает сигнал АСК в течение заранее определенного интервала времени, передающее устройство делает вывод о наличии ошибки или неисправности и повторно передает блок данных.

Протоколы с исправлением ошибок

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

  1. Xmodem
  2. Ymodem
  3. Zmodem
  4. Kermit

Для поддержания достоверности данных во время передачи в этих протоколах применяются схемы интенсивной проверки на наличие ошибок. Для выявления, локализации и возможного исправления ошибок в протоколах с обнаружением и исправлением ошибок используются такие более сложные алгоритмы обнаружения ошибок, как проверка контрольной суммы и контроль с помощью циклического избыточного кода (cyclic redundancy check, CRC).

Протоколы сжатия

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

Некоторые стандарты сжатия, используемые в модемах, позволяют получать коэффициенты сжатия до 4:1. Большинство стандартов сжатия данных в модемах разрабатываются компанией Microcom и международной организацией по разработке стандартов CCITT (Международный консультативный комитет по телеграфии и телефонии, CCITT). Стандарт Microcom Networking Protocol level7 (Протокол сетевого обмена уровня 7 компании Microcom, MNP7) обеспечивает коэффициенты сжатия до 3:1, а стандарт CCITT v.42bis — до 4:1.

Стандарты CCITT определяют также протоколы исправления ошибок и сжатия данных. Стандарт v.42 — это протокол с исправлением ошибок, а протокол v.42bis — эквивалент CCITT-протоколов MNP5 и MNP7. Оба протокола используются совместно с протоколами v.32 и v.32bis как дополнительные модули, обеспечивая увеличение скорости передачи.

Первыми стандартами, разработанными компанией Microcom, были протоколы с MNP2 по MNP4. Эти стандарты определяли протоколы с исправлением ошибок. Разработанные вслед за ними стандарты MNP5 и MNP7 стали первыми протоколами со сжатием данных. В стандарте MNP10 был определен первый протокол усовершенствования пассивного канала. Этот тип протоколов предназначен для обеспечения максимальной производительности модемов, используемых в таких приложениях с низким качеством соединения, как сотовая телефонная связь. Его отличительными чертами являются выполнение нескольких попыток соединения и автоматически подбираемые скорости передачи данных. Подобно более совершенным протоколам CCITT, модуль протокола MNP10 используется совместно с протоколом v.42 для максимизации скорости передачи данных. Во время специального периода настройки, когда передача выполняется с более низкими скоростями, модем проверяет исправность линии передачи. Затем он согласует с удаленным модемом максимальную скорость передачи в соответствии с существующим состоянием линии.

Кадрирование символа

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

Термин «кадрирование символа» (character framing) относится к общему количеству разрядов, используемых для передачи символа. Кадрирование определяет длину закодированного символа, а также количество и тип избыточных разрядов, требуемых для передачи. Обычная схема кадрирования символа предполагает наличие стартового разряда, 7 разрядов данных, разряда проверки на нечетность и стопового разряда. Часто в кадр добавляют дополнительный разряд для реализации проверки на наличие ошибок.

Хотя эта технология кадрирования является типовой, она — не единственная используемая в промышленности. Проблема заключается в сжатии, выполняемом устройством. Локальное устройство может использовать 10-разрядный кадр символа, состоящий из стартового разряда, 7 разрядов данных, разряда проверки на нечетность и стопового разряда. Однако, если в удаленной системе используется какой-либо другой код, кроме 7-разрядного кода ASCII с контролем нечетности и одним стоповым разрядом, его ответ будет столь же непонятным, как и что-либо, написанное на языке племени Мумбо-Юмбо. Структура кадра символа должна быть одинаковой на передающем и на приемном конце линии передачи.

Просмотров: 3941

Оглавление: Аппаратное и программное обеспечение




Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.