Está en la página 1de 3

Sockets y middleware

Asignatura: Sistemas Distribuidos


J. López_Ayala 2016351017, jeffreyhyman51@hotmail.com
Instituto Politécnico Nacional ESIME Culhuacán
Resumen: Un socket es un objeto de software que actúa como un “punto final”, un nodo de
conexión y establece un punto de comunicación en una red bidireccional establece comunicación
entre la parte del programa de un servidor y la parte de un programa del cliente”. En LINUX, un
socket se puede referir a un “punto final”, nodo de conexión, para comunicación de interprocesos
(IPC, Interprocess Communication) con el sistema operativo”

equipo que permite identificar la ubicación de


la computadora y el número de puerto que
Introducción identifica un posible proceso a realizar.
Los sockets son considerados de forma
general como representaciones abstractas de II. Tipos de Sockets
punto de comunicación, que permite entablar
un canal de comunicación bidireccional entre [1] Los sockets se clasifican en dos tipos: En
rutinas o programas. orientadas a conexión y no orientadas a
conexión, esto depende del protocolo que
Los sockets trabajan con los servicios de utilizara para la comunicación.
entrada/salida de sistemas operativos del tipo
Unix. Los podemos considerar como A continuación, se describirán a cada uno de
archivos, que se crean de manera especial. ellos y sus funciones.

I. Características  Orientados a conexión (TCP): Para


establecer una comunicación, dos
Dentro de los sistemas distribuidos, los programas deben interactuar entre si
identificadores de comunicaciones de red son por medio un socket, debe de
conocidos como sockets, a través de ellos se establecerse una conexión para
enviarán o recibirán datos entre dos aplicaciones comenzar a transmitir y en caso
o programas. Es una intersección entre la contrario de no haber una
aplicación o programas y la red de comunicación esta transmisión no
comunicaciones. sucederá (Protocolo TCP sobre IP).

Al conectar se realiza una búsqueda


Las API (interfaz de programación de
de un camino libre entre origen y
aplicaciones) son conocida como sockets, ya que
destino.
permite la comunicación entre ambos
componentes.
Se mantiene el camino en toda la
conexión. Esto es para garantizar que
Debido al diseño del modelo TCP/IP los sockets toda la información importante que
están representados por dos elementos sea transmitida no se pierda ningún
importantes y fundamentales: La dirección IP del dato.
conocimiento de los protocolos TCP/IP
[2] Si uno de los programas está para crear dentro de un dominio de
"ocupado" y no atiende la comunicación, comunicación que indica el formato de las
el otro quedará bloqueado hasta que el direcciones que podrán tomar los sockets
primero lea o escriba los datos en el y los protocolos que soportarán dichos
canal. sockets.

 No orientado a conexión (UDP): En este IV. Diferencias entre un Socket Linux y


caso no se necesita que los dos un Socket Windows
programas se conecten, es decir, no se
Los modelos de Socket Berkeley (BSD) y
fija un camino. Cada paquete podrá ir
Microsoft en su mayoría son compatibles
por cualquier sitio. No se garantiza la
a nivel del código fuente, pero no son tan
recepción secuencial, pero sí que sean
multiplataforma en la práctica. Si bien la
correctos (Protocolo UDP sobre IP).
capacidad del procesador es de 32 bits, no
III. Usos de los sockets hay problemas en la visualización mutua.

Los usos que se le pueden dar a este tipo de Las diferencias en cuestión al manejo de
sockets son con fines específicos como los redes es que al escribir un RPC (llamada a
servicios provistos por el sistema operativo, procedimiento remoto) multiplataforma
para la interfaz de programación de para la redirección de llamadas de red de
aplicaciones (NAPI). Los cuales brindan una algún proceso de un sistema operativo a
interfaz de conexión entre los componentes otro.
de software de la capa de aplicación y los En Windows 64 bits, el tipo socket es dos
protocolos de red. veces más grande en tamaño.
También los sockets son usados para la La cuestión es que los sistemas, que
comunicación de las APIs mediante los admiten el modelo de Berkeley, tienen un
protocolos TCP/IP, para una API especifica pequeño valor numérico del descriptor de
los protocolos de transporte TCP/UDP no socket (menos de 100) y los descriptores
incluyen la definición concreta, un ejemplo que se crean en sucesión difieren en 1.
de ello tenemos a los Bekerley Sockets
(BSD), que de igual manera se puede utilizar En el modelo de Microsoft, dichos
con TCP/IP. descriptores tienen valores que son
aproximadamente más 200 a la vez, y los
Para construir aplicaciones cliente/servidor es descriptores creados en sucesión difieren
indispensable que se establezca en tamaño (SOCKET).
comunicación mediante el uso de sockets
API, ya que está destinada únicamente para También en las diferencias que existen
aplicaciones sobre este paradigma. entre un sistema operativo a otro al
momento de programar las interfaces; es
Para la construcción de este tipo de interfaces el tipo de argumentos y valores en la
de cliente/servidor se puede hacer uso de codificación un ejemplo de ello son las
diferentes lenguajes de programación, entre constantes y los códigos de error de BSD
los mas destacados encontramos el lenguaje y Windows tienen valores absolutamente
C, Java, C#, Python, entre otros. Pero no nos diferentes.
debemos olvidar que tenemos que tener
V. Relación el uso de Sockets con un Referencias
middleware
[1] W. Vidal, “Sockets” [Online].
Los sockets se relacionan con el middleware Available:
ya que los primeros permiten la interacción http://wilsonvidal19.blogspot.com/p/sockets-
de diversos elementos para la administración caracteristicas-principales-los.html
de datos en aplicaciones distribuidas. [2] L. de - Matteis. “Introducción al uso
Recordando el concepto, sabemos que el de SOCKETS en Linux” [Online]. Available:
middleware se encarga de las tareas de https://cs.uns.edu.ar/~ldm/mypage/data/rc/apu
gestión de datos, servicios de aplicaciones, ntes/introduccion_al_uso_de_sockets.pdf
mensajería, autenticación y gestión de API.

Y repasando acerca de los sockets estos se


encargan de enlazar todos los datos de las
APIs, mediante los protocolos de red TCP/IP,
entonces deducimos que los sockets son
inherentes del middleware ya que no puede
lograr su objetivo, si no se logran establecer
las conexiones pertinentes para la correcta
transmisión de la información.

Conclusión

Los sockets son de vital importancia para los


sistemas distribuidos, ya que sin su intervención
la comunicación entre procesos ejecutados en
máquinas distintas, no se llevaría a cabo y
permite que estos procesos intercambien
información (envió y recepción). Los sockets son
indispensables para el desarrollo del paradigma
Cliente/Servidor.

Entendemos por comunicación entre procesos a


la tarea de intercambiar información entre
diferentes aplicaciones ejecutándose dentro de
una misma computadora o en diferentes
computadoras.

En la actualidad muchas aplicaciones están


implementadas usando sockets de forma interna.
Por ejemplo: los gestores de bases de datos
relacionales, chats, herramientas para el control
de versiones, servicios en la nube, e incluso las
páginas que solicitamos en el internet se envían y
reciben en los browsers a través de sockets.

También podría gustarte