Подтверждение (сети передачи данных)

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

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

Часто сообщения данных в телекоммуникациях содержат контрольные суммы для проверки целостности полезной нагрузки и заголовка. Контрольные суммы работают таким образом, что если один бит данных поврежден, контрольная сумма будет иметь другое значение, поэтому они могут обеспечить недорогой способ проверки (вероятный ) целостность сигнала. Если сообщение получено с недопустимой контрольной суммой (то есть полученные данные будут иметь контрольную сумму, отличную от контрольной суммы сообщения), получатель может узнать, что некоторая информация была повреждена. Чаще всего, когда используются контрольные суммы, полученное поврежденное сообщение либо не обслуживается сигналом ACK, либо будет обслуживаться сигналом NAK.

Содержание
  • 1 Символы подтверждения
  • 2 Использование протокола
  • 3 Аппаратное подтверждение
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки
Символы подтверждения

ASCII код включает символ ACK (0000110 2 или 6 16 ), который может быть передан, чтобы указать успешное получение, и символ NAK (0010101 2 или 15 16 ), которые могут быть переданы, чтобы указать на невозможность или отказ при приеме. Unicode предоставляет видимые символы для этих символов, U + 2406 (␆) и U + 2415 (␕).

Использование протокола

Многие протоколы основаны на подтверждении, что означает, что они положительно подтверждают получение сообщений. Протокол управления передачей (TCP) Интернета является примером протокола, основанного на подтверждении. Когда компьютеры обмениваются данными через TCP, полученные пакеты подтверждаются отправкой пакета с установленным битом ACK. Протокол TCP позволяет включать эти подтверждения в данные, отправляемые в обратном направлении.

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

Другие протоколы основаны на NAK, что означает, что они отвечают на сообщения только в случае возникновения проблемы. Примеры включают в себя большинство надежных протоколов многоадресной передачи, которые отправляют NAK, когда получатель обнаруживает отсутствующие пакеты. В других протоколах используются как NAK, так и ACK. Двоичная синхронная связь (Bisync) и Adaptive Link Rate (для Energy-Efficient Ethernet ) являются примерами.

Другие протоколы, такие как RC-5, Протокол дейтаграмм пользователя (UDP) и X10, выполняют слепую передачу без подтверждения, часто передавая одно и то же сообщение несколько раз в надежде, что пройдет хотя бы одна копия сообщения.

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

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

Аппаратное подтверждение

Некоторые компьютерные шины имеют выделенный провод подтверждения на шине управления, используемый для подтверждения операций шины: DACK используется для ISA DMA ; DATACK, используемый в STEbus, вывод подтверждения передачи данных Motorola 68000, который вдохновил название DTACK Gounded и т. Д. Некоторые компьютерные шины не всегда подтверждают каждую запись; некоторые или все записи используют опубликованную запись.

На последовательной шине I²C есть временной интервал для бита подтверждения после каждого байта.

См. также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-08 21:31:56
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте