stringtranslate.com

Рукопожатие (вычисления)

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

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

Квитирование может согласовывать параметры, которые приемлемы для оборудования и систем на обоих концах канала связи, включая скорость передачи информации , алфавит кодирования , четность , процедуру прерывания и другие функции протокола или оборудования. Рукопожатие — это метод общения между двумя объектами. Однако в RFC TCP/IP термин «рукопожатие» чаще всего используется для обозначения трехэтапного подтверждения TCP. Например, термин «рукопожатие» отсутствует в RFC, охватывающем FTP или SMTP. Единственным исключением является Transport Layer Security, TLS, setup, FTP RFC 4217. Вместо термина «рукопожатие» FTP RFC 3659 заменяет термин «диалог» для передачи команд. [3] [4] [5]

Простой протокол установления связи может включать в себя только отправку получателем сообщения, означающего: «Я получил ваше последнее сообщение и готов отправить мне еще одно». Более сложный протокол установления связи может позволить отправителю спросить получателя, готов ли он принять, или получателю ответить отрицательным подтверждением, означающим: «Я не получил ваше последнее сообщение правильно, пожалуйста, отправьте его повторно» (например, если данные был поврежден в пути). [6]

Квитирование облегчает соединение относительно разнородных систем или оборудования по каналу связи без необходимости вмешательства человека для установки параметров.

Пример

Трехстороннее рукопожатие TCP

Пример трехстороннего установления связи

Для установления нормального TCP- соединения требуется три отдельных шага:

  1. Первый хост (Алиса) отправляет второму хосту (Бобу) сообщение «синхронизации» (SYN) со своим собственным порядковым номером , которое получает Боб.
  2. Боб отвечает сообщением подтверждения синхронизации ( SYN-ACK ) со своим собственным порядковым номером и номером подтверждения , которые получает Алиса.
  3. Алиса отвечает сообщением подтверждения (ACK) с номером подтверждения , которое Боб получает и на которое ему не нужно отвечать.
В этой настройке сообщения синхронизации действуют как запросы на обслуживание от одного сервера к другому, в то время как сообщения подтверждения возвращаются на запрашивающий сервер, чтобы сообщить ему, что сообщение было получено.

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

SMTP

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

TLS-рукопожатие

Когда запускается соединение Transport Layer Security (SSL или TLS), запись инкапсулирует «управляющий» протокол — протокол обмена сообщениями квитирования (тип контента 22). Этот протокол используется для обмена всей информацией, необходимой обеим сторонам для обмена фактическими данными приложения по TLS. Он определяет сообщения, форматирующие или содержащие эту информацию, и порядок их обмена. Они могут различаться в зависимости от требований клиента и сервера, т. е. существует несколько возможных процедур установки соединения. Этот первоначальный обмен приводит к успешному соединению TLS (обе стороны готовы передать данные приложения с помощью TLS) или предупреждающему сообщению (как указано ниже).

Протокол используется для согласования атрибутов безопасности сеанса. (RFC 5246, стр. 37) [7]

WPA2 беспроводной

Стандарт WPA2 для беспроводной связи использует четырехэтапное рукопожатие, определенное в IEEE 802.11i-2004 .

Модемы коммутируемого доступа

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

Сериал «Аппаратное рукопожатие»

Этот часто используемый термин описывает использование сигналов RTS и CTS в последовательном соединении. Однако это не совсем правильно; [ нужна цитация ] это не настоящая форма установления связи, и ее лучше описать как управление потоком .

Зарядка мобильного устройства

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

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

  1. ^ «Что такое рукопожатие? - Определение с сайта WhatIs.com» . Поиск в сети . Проверено 19 февраля 2018 г.
  2. ^ Уэр, Питер; Чиверс, Билл; Челески, Пол (2001). Информационные процессы и технологии Jacaranda: курс HSC . Австралия: Джон Уайли и сыновья Австралия. стр. 92–93. ISBN 978-0701634728.
  3. ^ TCP RFC 793, 2581
  4. ^ SMTP RFC 821,5321, 2821, 1869,6531, 2822
  5. ^ FTP 959, 3659 (разговор), 2228,4217 (рукопожатие TLS), 5797
  6. ^ «Рукопожатие». Энциклопедия TheFreeDictionary .
  7. ^ Протокол безопасности транспортного уровня (TLS), версия 1.2. IETF . Август 2008 г. doi : 10.17487/RFC5246 . РФК 5246.