stringtranslate.com

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

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

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

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

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

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

Пример

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

Пример трехстороннего рукопожатия

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

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

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

SMTP

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

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

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

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

WPA2 беспроводная связь

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

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

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

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

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

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

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

Ссылки

  1. ^ "Что такое рукопожатие? - Определение с WhatIs.com". SearchNetworking . Получено 2018-02-19 .
  2. ^ Уэр, Питер; Чиверс, Билл; Челески, Пол (2001). Информационные процессы и технологии Джакаранда: курс HSC . Австралия: John Wiley & Sons Australia. стр. 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. ^ Протокол Transport Layer Security (TLS), версия 1.2. IETF . Август 2008. doi : 10.17487/RFC5246 . RFC 5246.