Apretón de manos (informática)
En informática, un apretón de manos es una señal entre dos dispositivos o programas, que se utiliza para, por ejemplo, autenticar, coordinar. Un ejemplo es el protocolo de enlace entre un hipervisor y una aplicación en una máquina virtual invitada.
En telecomunicaciones, un apretón de manos es un proceso automatizado de negociación entre dos participantes (ejemplo "Alice y Bob") a través del intercambio de información que establece los protocolos de un enlace de comunicación al comienzo de la comunicación, antes de que comience la comunicación completa. El proceso de negociación suele tener lugar para establecer reglas de comunicación cuando una computadora intenta comunicarse con otro dispositivo. Las señales generalmente se intercambian entre dos dispositivos para establecer un enlace de comunicación. Por ejemplo, cuando una computadora se comunica con otro dispositivo, como un módem, los dos dispositivos se indicarán entre sí que están encendidos y listos para funcionar, así como también acordarán qué protocolos se están utilizando.
El protocolo de enlace puede negociar parámetros que son aceptables para los equipos y sistemas en ambos extremos del canal de comunicación, incluida la tasa de transferencia de información, el alfabeto de codificación, la paridad, el procedimiento de interrupción y otras funciones de protocolo o hardware. El apretón de manos es una técnica de comunicación entre dos entidades. Sin embargo, dentro de los RFC de TCP/IP, el término "apretón de manos" se usa más comúnmente para hacer referencia al protocolo de enlace de tres vías TCP. Por ejemplo, el término "apretón de manos" no está presente en los RFC que cubren FTP o SMTP. Una excepción es la seguridad de la capa de transporte, TLS, configuración, FTP RFC 4217. En lugar del término "apretón de manos", FTP RFC 3659 sustituye el término "conversación" para el paso de comandos.
Es posible que un protocolo de intercambio simple solo implique que el receptor envíe un mensaje que signifique "Recibí su último mensaje y estoy listo para que me envíe otro." Un protocolo de negociación más complejo podría permitir que el remitente le pregunte al receptor si está listo para recibir o que el receptor responda con un acuse de recibo negativo que signifique "No recibí su último mensaje correctamente, reenvíelo" (por ejemplo, si los datos se corrompieron en el camino).
El protocolo de enlace facilita la conexión de sistemas o equipos relativamente heterogéneos a través de un canal de comunicación sin necesidad de intervención humana para establecer parámetros.
Ejemplo
Apretón de manos de tres vías TCP
Establecer una conexión TCP normal requiere tres pasos separados:
- El primer host (Alice) envía al segundo host (Bob) un mensaje "sincronizar" (SYN) con su propio número de secuencia x{displaystyle x}, que Bob recibe.
- Bob responde con un mensaje de reconocimiento sincronizado (SYN-ACK) con su propio número de secuencia Sí.{displaystyle y} y número de reconocimiento x+1{displaystyle x+1}, que Alice recibe.
- Alice responde con un mensaje de reconocimiento (ACK) con número de reconocimiento Sí.+1{displaystyle y+1}, que Bob recibe y a lo que no necesita responder.
- En esta configuración, los mensajes de sincronización actúan como solicitudes de servicio de un servidor al otro, mientras que los mensajes de reconocimiento vuelven al servidor solicitante para hacerle saber que el mensaje fue recibido.
La razón por la que el cliente y el servidor no usan un número de secuencia predeterminado como 0 para establecer la conexión es para protegerse contra dos encarnaciones de la misma conexión que reutilizan el mismo número de secuencia demasiado pronto, lo que significa que un segmento de una encarnación anterior de una conexión podría interferir con una encarnación posterior de la conexión.
SMTP
El Protocolo simple de transferencia de correo (SMTP) es el estándar de Internet clave para la transmisión de correo electrónico. Incluye protocolo de enlace para negociar la autenticación, el cifrado y el tamaño máximo del mensaje.
Apretón de manos TLS
Cuando se inicia una conexión de seguridad de la capa de transporte (SSL o TLS), el registro encapsula un "control" protocolo: el protocolo de mensajería de protocolo de enlace (tipo de contenido 22). Este protocolo se utiliza para intercambiar toda la información requerida por ambos lados para el intercambio de los datos reales de la aplicación por parte de TLS. Define los mensajes que forman o contienen esta información y el orden de su intercambio. Estos pueden variar según las demandas del cliente y el servidor, es decir, existen varios procedimientos posibles para configurar la conexión. Este intercambio inicial da como resultado una conexión TLS exitosa (ambas partes listas para transferir datos de la aplicación con TLS) o un mensaje de alerta (como se especifica a continuación).
El protocolo se utiliza para negociar los atributos seguros de una sesión. (RFC 5246, pág. 37)
WPA2 inalámbrica
(feminine)El estándar WPA2 para redes inalámbricas utiliza un protocolo de enlace de cuatro vías definido en IEEE 802.11i-2004.
Módems de acceso telefónico
Un ejemplo clásico de protocolo de enlace es el de los módems de acceso telefónico, que normalmente negocian los parámetros de comunicación durante un breve período cuando se establece una conexión por primera vez y, posteriormente, usan esos parámetros para proporcionar una transferencia de información óptima a través del canal como una función de su calidad y capacidad. El "chillido" (que en realidad es un sonido que cambia de tono 100 veces cada segundo) los ruidos que hacen algunos módems con salida de altavoz inmediatamente después de que se establece una conexión son, de hecho, los sonidos de los módems en ambos extremos participando en un procedimiento de apretón de manos; una vez finalizado el procedimiento, es posible que se silencie el altavoz, según la configuración del sistema operativo o la aplicación que controla el módem.
Serial "Apretón de manos de hardware"
Este término de uso frecuente describe el uso de señales RTS y CTS a través de una interconexión en serie. Sin embargo, no es del todo correcto; no es una verdadera forma de apretón de manos y se describe mejor como control de flujo.
Contenido relacionado
Programación lógica
Telecomunicaciones en Guatemala
Experto en Sistemas