Подтверждение (сети передачи данных) - Acknowledgement (data networks) - Wikipedia

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

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

Знаки подтверждения

ASCII код включает символ ACK (00001102 или 616), который может быть передан для обозначения успешного получения и символа NAK (00101012 или 1516), который может быть передан, чтобы указать на невозможность или отказ от приема.[2] Unicode предоставляет видимые символы для этих символов: U + 2406 (␆) и U + 2415 (␕).

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

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

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

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

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

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

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

Подтверждение оборудования

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

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

Смотрите также

Рекомендации

  1. ^ Стандартные блоки надежной многоадресной рассылки (NORM), ориентированной на отрицательное подтверждение (NACK). Ноябрь 2004 г. Дои:10.17487 / RFC3941. RFC 3941.
  2. ^ «Управляющие символы в ASCII и Unicode». Получено 2020-03-04.
  3. ^ «Спецификация шины I2C».
  4. ^ «Понимание шины I2C» (PDF). Рисунок 8.

внешняя ссылка

  • Петр Рукавина. "ACK vs. NAK". Получено 2020-03-04.