En informática, un protocolo de enlace es una señal entre dos dispositivos o programas que se utiliza, por ejemplo, para autenticar o 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 (por ejemplo, " Alice y Bob ") a través del intercambio de información que establece los protocolos de un enlace de comunicación al inicio de la comunicación, antes de que comience la comunicación completa. [1] El proceso de apretón de manos generalmente se lleva a cabo con el fin de establecer reglas para la comunicación cuando una computadora intenta comunicarse con otro dispositivo. Por lo general, se intercambian señales 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 señalarán mutuamente que están encendidos y listos para funcionar, así como para acordar qué protocolos se están utilizando. [2]
El protocolo de enlace puede negociar parámetros que son aceptables para los equipos y sistemas en ambos extremos del canal de comunicación, incluyendo la tasa de transferencia de información , el alfabeto de codificación , la paridad , el procedimiento de interrupción y otras características del protocolo o hardware. El protocolo de enlace es una técnica de comunicación entre dos entidades. Sin embargo, dentro de las RFC TCP/IP, el término "apretón de manos" se utiliza 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 las RFC que cubren FTP o SMTP. Una excepción es la configuración de la seguridad de la capa de transporte, TLS, RFC 4217 de FTP. En lugar del término "apretón de manos", la RFC 3659 de FTP sustituye el término "conversación" para el paso de comandos. [3] [4] [5]
Un protocolo de enlace simple podría implicar únicamente que el receptor envíe un mensaje que signifique "Recibí tu último mensaje y estoy listo para que me envíes otro". Un protocolo de enlace más complejo podría permitir que el remitente pregunte al receptor si está listo para recibir o que el receptor responda con un acuse de recibo negativo que signifique "No recibí tu último mensaje correctamente, por favor vuelve a enviarlo" (por ejemplo, si los datos se corrompieron en el camino). [6]
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.
Establecer una conexión TCP normal requiere tres pasos separados:
La razón por la que el cliente y el servidor no utilizan 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.
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 de los mensajes.
Cuando se inicia una conexión de seguridad de la capa de transporte (SSL o TLS), el registro encapsula un protocolo de "control": el protocolo de mensajería de enlace (tipo de contenido 22). Este protocolo se utiliza para intercambiar toda la información que necesitan ambas partes para el intercambio de los datos de la aplicación real mediante 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 del servidor; es decir, hay 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. 37) [7]
El estándar WPA2 para conexiones inalámbricas utiliza un protocolo de enlace de cuatro vías definido en IEEE 802.11i-2004 .
Un ejemplo clásico de handshaking 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, a partir de entonces, utilizan esos parámetros para proporcionar una transferencia de información óptima a través del canal en función de su calidad y capacidad. Los ruidos de "chirrido" (que en realidad es un sonido que cambia de tono 100 veces por segundo) que emiten 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 que participan en un procedimiento de handshaking; una vez que se completa el procedimiento, el altavoz puede silenciarse, según la configuración del sistema operativo o la aplicación que controla el módem.
Este término, que se utiliza con frecuencia, describe el uso de señales RTS y CTS en una interconexión en serie. Sin embargo, no es del todo correcto; [ cita requerida ] no es una forma verdadera de protocolo de enlace y se describe mejor como control de flujo .
En los cargadores de dispositivos móviles que ofrecen capacidades especiales de carga rápida para dispositivos compatibles, el proceso de carga cambiará a un voltaje de salida más alto para una mayor transferencia de energía. Pero esto podría causar daños graves a un dispositivo no compatible o incluso provocar un incendio. Por lo tanto, es muy importante que el dispositivo y el cargador realicen primero un protocolo de enlace para "acordar" los parámetros de carga compatibles entre sí. Si un cargador de este tipo no puede identificar el dispositivo conectado o determinar su compatibilidad, utilizará de forma predeterminada los parámetros de carga normales, pero mucho más lentos, dentro del estándar USB.