Форматы передачи данных кратко

Обновлено: 02.07.2024

Существуют два способа передачи данных (слова) информации по линиям данных:

1) Параллельный. При этом по параллельным проводникам (по шине) одновременно пересылаются все биты;

2) Последовательный. При этом используется одна или несколько линий связи, но биты слова пересылаются поочередно, начиная, например, с его младшего разряда.

Преимуществом параллельной передачи является, в первую очередь, более высокая скорость передачи данных (при прочих равных условиях) данные передаются быстрее во столько раз, сколько разрядов в слове.

Недостатком является ограниченная длина – 1-2 м. Это, в первую очередь, связано с наличием электрической емкости между проводниками.

Подавляющее большинство реально используемых каналов связи в МПС имеют последовательную передачу с возможностью передачи от десятков метров до сотен километров и более.

Режимы последовательной передачи данных:

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

При асинхронной передаче данных также требуется наличие сигнала синхронизации, но он передается по той же линии, что и информационный поток.

Существует общепринятый стандартный формат асинхронной передачи данных, который содержит:

- n пересылаемых бит информации (7 или 8 бит);

- бит контроля четности или нечетности (может отсутствовать);

- стоповые биты (1 или 2).

Существует мнемоническая запись асинхронного формата, например, 8N1 (8 бит данных, отсутствует бит контроля четности, 1 стоповый бит).

Когда данные не посылаются, на линии сохраняется уровень сигнала, соответствующий логической 1.


Рисунок 17 - Формат асинхронной последовательной передачи данных

Методы передачи на канальном уровне

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

В составе любого пакета должна присутствовать следующая информация:

- данные или информация, предназначенная для передачи по сети;

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

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

Существует три принципиально различные схемы коммутации в вычислительных сетях:

Кодирование информации

Любое событие или явление может быть выражено по-разному, разными способами, разным алфавитом. Чтобы информацию более точно и экономно передать по каналам связи, ее надо соответственно закодировать.

Кодирование - преобразование дискретной информации, представленной в виде первичного алфавита, в последовательность кодов.

Декодирование – это операция, обратная кодированию.

Традиционно для кодирования одного символа русского о(английского) алфавита используется 1 или 2 байта информации.

Способы кодирования: шифрование, сжатие, защита от шума.

Общая схема передачи информации через канал связи содержит следующие этапы:

1) Кодирование исходной информации от передатчика, включающее в себя шифрование, сжатие, помехозащитное кодирование;

2) Непосредственно передача через физическую среду;

3) Декодирование информации, обратное процессу кодирования, и передача в приемник информации, эквивалентной исходной.


Рисунок 19 - Общая схема передачи информации

В процессе хранения данных и передачи информации по сетям связи неизбежно возникают ошибки. Контроль целостности данных и исправление ошибок – важные задачи при передаче данных.

В системах связи возможны несколько стратегий борьбы с ошибками:

· обнаружение ошибок в блоках данных и автоматический запрос повторной передачи поврежденных блоков;

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

· исправление ошибок (англ. forward error correction) применяется на физическом уровне.

Существуют два способа передачи данных (слова) информации по линиям данных:

1) Параллельный. При этом по параллельным проводникам (по шине) одновременно пересылаются все биты;

2) Последовательный. При этом используется одна или несколько линий связи, но биты слова пересылаются поочередно, начиная, например, с его младшего разряда.

Преимуществом параллельной передачи является, в первую очередь, более высокая скорость передачи данных (при прочих равных условиях) данные передаются быстрее во столько раз, сколько разрядов в слове.

Недостатком является ограниченная длина – 1-2 м. Это, в первую очередь, связано с наличием электрической емкости между проводниками.

Подавляющее большинство реально используемых каналов связи в МПС имеют последовательную передачу с возможностью передачи от десятков метров до сотен километров и более.

Режимы последовательной передачи данных:

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

При асинхронной передаче данных также требуется наличие сигнала синхронизации, но он передается по той же линии, что и информационный поток.

Существует общепринятый стандартный формат асинхронной передачи данных, который содержит:

- n пересылаемых бит информации (7 или 8 бит);

- бит контроля четности или нечетности (может отсутствовать);

- стоповые биты (1 или 2).

Существует мнемоническая запись асинхронного формата, например, 8N1 (8 бит данных, отсутствует бит контроля четности, 1 стоповый бит).

Когда данные не посылаются, на линии сохраняется уровень сигнала, соответствующий логической 1.


Рисунок 17 - Формат асинхронной последовательной передачи данных

Методы передачи на канальном уровне

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

В составе любого пакета должна присутствовать следующая информация:

- данные или информация, предназначенная для передачи по сети;

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

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

Существует три принципиально различные схемы коммутации в вычислительных сетях:

Кодирование информации

Любое событие или явление может быть выражено по-разному, разными способами, разным алфавитом. Чтобы информацию более точно и экономно передать по каналам связи, ее надо соответственно закодировать.

Кодирование - преобразование дискретной информации, представленной в виде первичного алфавита, в последовательность кодов.

Декодирование – это операция, обратная кодированию.

Традиционно для кодирования одного символа русского о(английского) алфавита используется 1 или 2 байта информации.

Способы кодирования: шифрование, сжатие, защита от шума.

Общая схема передачи информации через канал связи содержит следующие этапы:

1) Кодирование исходной информации от передатчика, включающее в себя шифрование, сжатие, помехозащитное кодирование;

2) Непосредственно передача через физическую среду;

3) Декодирование информации, обратное процессу кодирования, и передача в приемник информации, эквивалентной исходной.


Рисунок 19 - Общая схема передачи информации

В процессе хранения данных и передачи информации по сетям связи неизбежно возникают ошибки. Контроль целостности данных и исправление ошибок – важные задачи при передаче данных.

В системах связи возможны несколько стратегий борьбы с ошибками:

· обнаружение ошибок в блоках данных и автоматический запрос повторной передачи поврежденных блоков;

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

· исправление ошибок (англ. forward error correction) применяется на физическом уровне.


Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни.



Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰).


Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой.

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

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

Какими свойствами и особенностями обладает хороший, годный грамотный, качественный протокол?

В идеале, протокол должен быть абстрагирован от более нижнего уровня взаимодействия, будь то передача по TCP, UDP, по serial порту, USB, Bluetooth, через цифровой радиосигнал, или даже по голубиной почте. И надо учитывать, что далеко не все из них гарантируют доставку и\или достоверность передающихся данных.

Небольшой дисклеймер: говоря о достоверности данных, я имею ввиду их неискаженность вследствие помех и иных ошибок в среде передачи. В статье я не буду затрагивать темы пласта технологий, связанных с безопасностью в ИТ. Допустим что наши Алиса и Боб могут друг другу доверять, и никакая Ева им помешать не может. (Например у коллег вопрос безопасности решается включением всех территориально разделенных участников взаимодействия в хорошо защищенный VPN, не имеющий в свою очередь доступа наружу)

Все протоколы можно разделить на две группы, (по представлению данных): символьные и бинарные.
Символьные протоколы, с которыми мне приходилось встречаться, базировались либо на XML, либо на JSON-строках. Из их достоинств можно упомянуть о более простой отладке взаимодействия (вследствие их читаемости), о простоте реализации (наличия готовых парсеров), и пресловутой универсальности.
Теперь о недостатках. Очевидно, что такие протоколы являются крайне избыточными, мизерная доля полезной информации плавает в массивной, неэффективной обёртке. При передаче любой числовой информации приходиться заниматься их конвертацией в строковое представление и обратно. Больным местом является передача бинарных данных (и хорошо, что без них бывает можно обойтись, но в ряде случаев это невозможно). Составители протоколов обычно выкручиваются применением Base64, или даже просто передачей бинарной строки в её hex-овом представлении, по два символа на байт.
Также хочется отметить, что полная спецификация того же XML крайне обширна, и стандартные парсеры, при всей их полноте возможностей, достаточно громоздки и медлительны, поэтому распространена практика, когда отдел или контора в итоге пишет и пользуется собственным парсером.

Конечно, для определенных задач, символьные протоколы являются, если не наиболее эффективным, то по крайней мере вполне приемлимым вариантом, но мы с вами идём дальше.

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

Так как между отдельными проводниками шины для параллельной передачи данных существует электрическая емкость, то при изменении сигнала, передаваемого по одному из проводников, возникает помеха (короткий выброс напряжения) на других проводниках. С увеличением длины шины (увеличением емкости проводников) помехи возрастают и могут восприниматься приемником как сигналы. Поэтому рабочее расстояние для шины параллельной передачи данных ограничивается длиной 1-2 м, и только за счет существенного удорожания шины или снижения скорости передачи длину шины можно увеличить до 10-20 м.

Указанное обстоятельство и желание использовать для дистанционной передачи информации телеграфные и телефонные линии обусловили широкое распространение способа последовательного обмена данными между ВУ и микроЭВМ и между несколькими микроЭВМ. Возможны два режима последовательной передачи данных: синхронный и асинхронный.

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

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

Рис. 3.3. Формат асинхронной последовательной передачи данных.

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

Стандартный формат асинхронной последовательной передачи данных, используемый в ЭВМ и ВУ, содержит n пересылаемых бит информации (при пересылке символов n равно 7 или 8 битам) и 3-4 дополнительных бита: стартовый бит, бит контроля четности (или нечетности) и 1 или 2 стоповых бита (рис. 3.3,а). Бит четности (или нечетности) может отсутствовать. Когда передатчик бездействует (данные не посылаются на линию), на линии сохраняется уровень сигнала, соответствующий логической 1.

Передатчик может начать пересылку символа в любой момент времени посредством генерирования стартового бита, т. е. перевода линии в состояние логического 0 на время, точно равное времени передачи бита. Затем происходит передача битов символа, начиная с младшего значащего бита, за которым следует дополнительный бит контроля по четности или нечетности. Далее с помощью стопового бита линия переводится в состояние логической 1 (рис. 3.3,б). При единичном бите контроля стоповый бит не изменяет состояния сигнала на линии. Состояние логической 1 должно поддерживаться в течение промежутка времени, равного 1 или 2 временам передачи бита.

Промежуток времени от начала стартового бита до конца стопового бита (стоповых бит) называется кадром. Сразу после стоповых бит передатчик может посылать новый стартовый бит, если имеется другой символ для передачи; в противном случае уровень логической 1 может сохраняться на протяжение всего времени, пока бездействует передатчик. Новый стартовый бит может быть послан в любой момент времени после окончания стопового бита, например, через промежуток времени, равный 0.43 или 1.5 времени передачи бита.

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

Если линия перешла в состояние логического нуля и находится в этом состоянии в течение времени, не меньшего половины временного интервала передачи бита, то приемник переводится в режим считывания бит информации. В противном случае приемник остается в режиме обнаружения, так как вероятнее всего это был не стартовый бит, а шумовая помеха. В новом режиме приемник вырабатывает сигналы считывания через интервалы, равные времени передачи бита, т. е. выполняет считывание и сохранение принимаемых бит примерно на середине их передачи. Аналогичным образом будут считаны бит контроля четности и сигнал логической единицы (стоповый бит). Если оказалось, что на месте стопового бита обнаружен сигнал логического нуля, то произошла "Ошибка кадра" и символ принят неправильно. Иначе проверяется, четно ли общее число единиц в информационных битах и бите контроля, и если оно четно, производится запись принятого символа в буфер приемника.

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

Рис. 3.4. Ошибка из-за рассинхронизации генераторов передатчика и приемника.

апример, если при считывании битов посылки, показанной на рис. 3.3 б, временной интервал между сигналами считывания станет на 6% меньше, чем время передачи бита, то восьмой и девятый сигналы считывания будут выработаны тогда, когда на линии находится бит контроля четности (рис. 3.4). Следовательно, не будет обнаружен стоповый бит и будет зафиксирована ошибка кадра, несмотря на правильность принятой информации. Однако при 18%-й рассинхронизации генераторов, когда вместо кода (01110001) приемник зафиксирует код (11100001), никаких ошибок не будет обнаружено - четность соблюдена и стоповый (девятый по порядку) бит равен 1 (см. рис. 3.4).

Параллельная передача данных

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

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

Рис. 3.5. Простой параллельный контроллер вывода.

Для формирования управляющего сигнала "Выходные данные готовы" и приема из ВУ управляющего сигнала "Данные приняты" в контроллере используется одноразрядный адресуемый регистр состояния и управления А2 (обычно используются раздельные регистр состояния и регистр управления). Одновременно с записью очередного байта данных с шины данных системного интерфейса в адресуемый регистр данных контроллера (порт вывода А1) в регистр состояния и управления записывается логическая единица. Тем самым формируется управляющий сигнал "Выходные данные готовы" в шине связи с ВУ.

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

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

Рассмотрим на примере, каким образом контроллер ВУ обеспечивает параллельную передачу данных в ВУ под управлением программы асинхронного обмена. Алгоритм асинхронного обмена в данном случае передачи прост.

1. Процессор микроЭВМ проверяет готовность ВУ к приему данных.

2. Если ВУ готово к приему данных (в данном случае это логический 0 в нулевом разряде регистра А2), то данные передаются с шины данных системного интерфейса в регистр данных А1 контроллера и далее в ВУ. Иначе повторяется п. 1.

Пример 2.1. Фрагмент программы передачи байта данных в асинхронном режиме с использованием параллельного контроллера ВУ (рис. 3.5). Для написания программы асинхронной передачи воспользуемся командами процессора 8086.

Интернет очень большой и комплексный. Но на базовом уровне это всего лишь связь между различными компьютерами (не только персональными). Эта связь представляет из себя сетевые протоколы передачи данных — набор правил, который определяет порядок и особенности передачи информации для конкретных случаев.

Протоколов большое множество. Про основные из них рассказано далее.

IP — Internet Protocol

Протокол передачи, который первым объединил отдельные компьютеры в единую сеть. Самый примитивный в этом списке. Он является ненадёжным, т. е. не подтверждает доставку пакетов получателю и не контролирует целостность данных. По протоколу IP передача данных осуществляется без установки соединения.

Основная задача этого протокола — маршрутизация датаграмм, т. е. определение пути следования данных по узлам сети.

Популярная версия на текущий момент — IPv4 с 32-битными адресами. Это значит, что в интернете могут хранится 4.29 млрд адресов IPv4. Число большое, но не бесконечное. Поэтому существует версия IPv6, которая поможет решить проблему переполнения адресов, ведь уникальных IPv6 будет 2 ^ 128 адресов (число с 38 знаками).

TCP/IP — Transmission Control Protocol/Internet Protocol

Это стек протоколов TCP и IP. Первый обеспечивает и контролирует надёжную передачу данных и следит за её целостностью. Второй же отвечает за маршрутизацию для отправки данных. Протокол TCP часто используется более комплексными протоколами.

UDP — User Datagram Protocol

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

Основное преимущество UDP протокола заключается в скорости доставки данных. Именно поэтому чувствительные к сетевым задержкам приложения часто используют этот тип передачи данных.

FTP — File Transfer Protocol

Протокол передачи файлов. Его использовали ещё в 1971 году — задолго до появления протокола IP. На текущий момент этим протоколом пользуются при удалённом доступе к хостингам. FTP является надёжным протоколом, поэтому гарантирует передачу данных.

Этот протокол работает по принципу клиент-серверной архитектуры. Пользователь проходит аутентификацию (хотя в отдельных случаях может подключаться анонимно) и получает доступ к файловой системе сервера.

Это не только система доменных имён (Domain Name System), но и протокол, без которого эта система не смогла бы работать. Он позволяет клиентским компьютерам запрашивать у DNS-сервера IP-адрес какого-либо сайта, а также помогает обмениваться базами данных между серверами DNS. В работе этого протокола также используются TCP и UDP.

Что такое DNS? Введение в систему доменных имён

Предупреждён – значит вооружён: от чего не спасает HTTPS

NTP — Network Time Protocol

Не все протоколы передачи нужны для обмена классического вида информацией. NTP — протокол для синхронизации локальных часов устройства со временем в сети. Он использует алгоритм Марзулло. Благодаря нему протокол выбирает более точный источник времени. NTP работает поверх UDP — поэтому ему удаётся достигать большой скорости передачи данных. Протокол достаточно устойчив к изменениям задержек в сети.

Последняя версия NTPv4 способна достигать точности 10мс в интернете и до 0,2мс в локальных сетях.

SSH — Secure SHell

Протокол для удалённого управления операционной системой с использованием TCP. В SSH шифруется весь трафик, причём с возможностью выбора алгоритма шифрования. В основном это нужно для передачи паролей и другой важной информации.

Также SSH позволяет обрабатывать любые другие протоколы передачи. Это значит, что кроме удалённого управления компьютером, через протокол можно пропускать любые файлы или даже аудио/видео поток.

SSH часто применяется при работе с хостингами, когда клиент может удалённо подключиться к серверу и работать уже оттуда.

Читайте также: