Sockets

Introducción

El paradigma Cliente/Servidor es quizás el más conocido de los paradigmas para aplicaciones de red. Se usa para describir un modelo de interacción entre dos procesos, que se ejecutan de forma simultánea. Este modelo es una comunicación basada en una serie de preguntas y respuestas, que asegura que si dos aplicaciones intentan comunicarse, una comienza la ejecución y espera indefinidamente que la otra le responda y luego continua con el proceso. 
Los dos componentes del paradigma son: 
Cliente: aplicación que inicia la comunicación, es dirigida por el usuario.
Servidor: es quien responde a los requerimientos de los clientes, son procesos que se están ejecutando indefinidamente.
Los procesos clientes son más sencillos que los procesos de los servidores, los primeros no requieren de privilegios de sistemas para funcionar, en cambio los procesos servidores sí.

¿Qué es un Socket?

 Se le denomina Socket a una interfaz de entrada-salida de datos que permite la intercomunicación entre procesos. Los procesos pueden estar ejecutandose en el mismo o en distintos sistemas, unidos mediante una red.
Se crean dentro de un dominio de comunicación; en donde nos dice dónde se encuentran los procesos que se van a intercomunicar.

Tipos de Sockets

Un socket se caracteriza por tres atributps:
+Dominio: Especifica el medio de comunicación de la red que el socket utilizará.
+Protocolo: Especifica que protocolo se va a usar.
+Tipo: Los protocolos de internet proveen tres niveles distintos de servicio: 

-Stream: Son los más utilizados, hacen uso del protocolo TCP, el cual nos provee un flujo de datos bidireccional, secuenciado, sin duplicación de paquetes y libre de errores.

-Datagram: Tambien llamados "Sockets sin conexion" porque no hay que mantener una conexión activa, hacen uso del protocolo UDP, el cual nos provee de un flujo de datos bidireccional. pero los paquetes pueden llegar en secuencia (paquete por paquete), pueden no llegar o contener errores. El proceso que recibe los datos debe comprobar la secuencia, eliminar duplicados y asegurar la integridad. 

-Raw: No son para el usuario más común, son provistos principalmente para quellos interesados en desarrollar nuevos protocolos de comunicación o para hacer uso de facilidades ocultas de un protocolo existente.

Conclusión

Se puede concluir que los sockets son extremadamente útiles en las conexiones del modelo cliente servidor, mientras que los sockets permiten la correcta transferencia de datos y la interconexión entre equipos y programas, el uso de los datagramas permiten el correcto uso de los paquetes de información, vitales para la conexión.
Desde sus inicios e implementación junto a él o modelo cliente servidor y el modelo TCP/IP las conexiones entre programas y computadoras han mejorado cada vez más  y se ha vuelto más fácil y rápido implementar; es difícil de predecir como las conexiones cambiaran en el futuro, es evidente que mejoraran y se volverán más optimas de lo que ya son, pero no se sabe ni sabremos como esto pasara.

Bibliografía

- Comer, D. (2014). Internetworking with TCP/IP. Upper Saddle River: Pearson Education Inc.
- Coulouris, G., Dollimore, J., Kindberg, T., Junquera, J., Fernández, B. & Hernández, J. (2001). Sistemas distribuidos : conceptos y disen̋o. Madrid: Pearson Educación,Addison Wesley.

Comentarios

Entradas más populares de este blog

Cifrado Asimétrico

Proceso de depuración