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
Publicar un comentario