Las aplicaciones en ambas terminales le dicen a sus sistemas operativos que se va a iniciar una conexión. Los sistemas operativos se comunican enviando mensajes que dicen que la comunicación es aprobada y ambos lados están listos.
Mientras se lleva a cabo la transferencia, ambos hosts se comunican entre ellos periódicamente con sus protocolos para asegurar que todo funciona bien y se reciben los datos correctamente.
Los pasos del three-way handshake son:
Se envía un segmento de acuerdo de conexión que es una petición de sincronización.
Los segmentos segundo y tercero responden la petición (acknowledge o ACK) y establecen los parámetros de conexión o reglas entre los hosts. Entonces el receptor se sincroniza y se forma una conexión bidireccional.
El último segmento es un acknowledge también que le dice al host de destino que se acepta el acuerdo de conexión, y que la conexión actual se ha establecido, se comienza a transferir datos.
Se pueden presentar problemas en este proceso, por ejemplo cuando una computadora genera datos más rápido de lo que la red puede efectuar la transferencia, o porque varias computadoras envían sus segmentos al gateway para que sean enviados a un destino y se crean congestiones.
En los casos donde una computadora recibe demasiados segmentos que no puede procesar, los almacena en una parte de su memoria llamada buffer. Esto ayuda sólo si los datagramas son parte de una ráfaga pequeña, en caso de que se trate de una serie de datos más grande que el buffer, este se verá rebasado y comenzará a descartar los datos que recibe.
Pero una de las funciones de la los sistemas de control de la red ayuda aquí, en lugar de tirar el tráfico, los protocolos de transporte pueden decir no estoy listo, con lo que el transmisor se detiene en espera de una indicación para continuar, es un proceso similar a contar con un semáforo, con señales de alto y avance. Una vez que se procesa la información en el buffer, se envía un segmento al transmisor indicándole que puede enviar más información, y se comienza nuevamente con el envío.
Es importante notar que en una transferencia de datos orientada a conexión, los datagramas se reciben en el orden en que se envían, y si no es así, la comunicación falla. También si se pierde, se duplica o se daña un datagrama. Debido a esta razón se usa un acuse de recibo (acknowledge o ACK) que el receptor envía cada que recibe un segmento como confirmación.
Un servicio se considera orientado a conexión si cuenta con lo siguiente:
- Se establece un circuito virtual
- Se usa una secuencia
- Usa acuses de recibo (acknowledge)
- Usa control de flujo (Flow Control)
Los tipos de control de flujo son:
- Buffering
- Windowwing
- Congestion Avoidance
(más adelante en el blog)
Hay un post dedicado a explicar una captura de paquetes del 3-way handshake, y es la manera real en que opera.
http://ipref.blogspot.com/2009/03/three-way-handshake.html
No hay comentarios. :
Publicar un comentario