PDF de programación - Comunicación entre procesos Sockets

Imágen de pdf Comunicación entre procesos Sockets

Comunicación entre procesos Socketsgráfica de visualizaciones

Publicado el 10 de Junio del 2021
51 visualizaciones desde el 10 de Junio del 2021
2,3 MB
30 paginas
Creado hace 13a (11/06/2008)
COMUNICACIÓN ENTRE PROCESOS

SOCKETS

Diseño de Sistemas Operativos

Curso 2007/08

Grupo: Mi30

Martín Santana, A. David

Martínez Santana, Luis Ignacio

¿¿QuQuéé son?(Definici

son?(Definicióón)n)

 Los

son mecanismos de comunicacióón n

sockets son mecanismos de comunicaci

Los sockets
entre procesos que permiten que un proceso hable
entre procesos que permiten que un proceso hable
( emita o reciba informacióón ) con otro proceso
n ) con otro proceso
( emita o reciba informaci
incluso estando en distintas mááquinas.
quinas.
incluso estando en distintas m

Una forma de conseguir que dos programas se
 Una forma de conseguir que dos programas se
transmitan datos.
transmitan datos.

socket no es m

 Un Un socket
no es máás que un "canal de
s que un "canal de
comunicacióón" entre dos programas que corren
n" entre dos programas que corren
comunicaci
sobre ordenadores distintos o incluso en el mismo
sobre ordenadores distintos o incluso en el mismo
ordenador.
ordenador.

 Desde el punto de vista de programaci

Desde el punto de vista de programacióón, un
n, un
socket no es m
socket
una manera especial.
una manera especial.

no es máás que un "fichero" que se abre de
s que un "fichero" que se abre de

¿¿QuQuéé son? (Caracter

son? (Caracteríísticas)
sticas)

Una vez abierto se pueden escribir y leer datos
 Una vez abierto se pueden escribir y leer datos
de de éél con las funciones de

l con las funciones de readread()() y y writewrite()(). .

 La forma de referenciar un

La forma de referenciar un socket
procesos implicados, es mediante un descriptor
descriptor
procesos implicados, es mediante un
del mismo tipo que el utilizado para referenciar
del mismo tipo que el utilizado para referenciar
ficheros.
ficheros.

socket por los
por los

Se podráá realizar redirecciones de los archivos de
realizar redirecciones de los archivos de
 Se podr
E/S estáándar (descriptores 0,1 y 2) a los
ndar (descriptores 0,1 y 2) a los sockets
sockets
E/S est
y asy asíí combinar entre ellos aplicaciones de la red.
combinar entre ellos aplicaciones de la red.

Propiedades
Propiedades

 Fiabilidad de la Transmisi

Fiabilidad de la Transmisióón. No se pierden los datos transmitidos.
n. No se pierden los datos transmitidos.

 Conservaci

Conservacióón del Orden de los Datos. Los datos llegan en el orden
n del Orden de los Datos. Los datos llegan en el orden
en que se emitieron.
en que se emitieron.

 No Duplicaci

No Duplicacióón de los Datos. El Dato s

n de los Datos. El Dato sóólo llega una vez.
lo llega una vez.

 Comunicaci

n estáá establecida
establecida

Comunicacióón en modo conectado. La conexi
antes de iniciar la comunicacióón. De este modo, la emisi
antes de iniciar la comunicaci
un extremo va destinada al otro (implíícitamente).
citamente).
un extremo va destinada al otro (impl

n en modo conectado. La conexióón est

n. De este modo, la emisióón desde
n desde

 Conservaci

Conservacióón de los l
mensajes emitidos pueden encontrarse o conocerse en el destino.
mensajes emitidos pueden encontrarse o conocerse en el destino.

mites de los mensajes. Los líímites de
mites de

n de los líímites de los mensajes. Los l

 EnvEnvíío de Mensajes

o de Mensajes ““urgentes

. Permite el envíío de datos fuera de
o de datos fuera de
flujo o fuera de banda. Al enviar datos fuera del flujo normal, son
son
flujo o fuera de banda. Al enviar datos fuera del flujo normal,
accesibles de inmediato.
accesibles de inmediato.

urgentes””. Permite el env

Atributos
Atributos

Un Un socket

socket se caracteriza por tres atributos:
se caracteriza por tres atributos:

–– Dominio

utilizaráá..

Dominio: Especifica el medio de comunicaci
la red que el socket
la red que el

: Especifica el medio de comunicacióón de
n de

socket utilizar

–– Protocolo

Protocolo: Especifica que protocolo se va a usar.
: Especifica que protocolo se va a usar.

–– TipoTipo: Los protocolos de

: Los protocolos de internet

internet proveen dos
proveen dos

niveles distintos de servicio : flujo y datagramas
datagramas..
niveles distintos de servicio : flujo y

Atributos (Dominio)
Atributos (Dominio)

 AF_UNIX

AF_UNIX: : Sockets

Sockets internos de UNIX
internos de UNIX

Sockets del sistema de archivos).
((Sockets
del sistema de archivos).

 AF_INET

AF_INET: Protocolos de

: Protocolos de internet
Sockets de redes de UNIX).
((Sockets
de redes de UNIX).

internet ARPA
ARPA

 AF_ISO

AF_ISO: Protocolos est

: Protocolos estáándar ISO.
ndar ISO.

 AF_NS

AF_NS: Protocolos de redes

: Protocolos de redes Xerox
Xerox

Atributos (Protocolo)
Atributos (Protocolo)

Se usa donde el mecanismo de transporte
 Se usa donde el mecanismo de transporte
permite máás de un protocolo a ser usado.
s de un protocolo a ser usado.
permite m

 En las redes de UNIX y en los

En las redes de UNIX y en los sockets
de archivos no necesitamos seleccionar otro
de archivos no necesitamos seleccionar otro
protocolo diferente al default
default..
protocolo diferente al

sockets de sistema
de sistema

Atributos(Tipo))
Atributos(Tipo

SOCK_STREAM: Para flujo
: Para flujo
SOCK_STREAM
Son implementados en el dominio
 Son implementados en el dominio
AF_INET por conexiones TCP/IP.
por conexiones TCP/IP.
AF_INET
Son el tipo usual en el dominio AF_UNIX
AF_UNIX..
 Son el tipo usual en el dominio
SOCK_DGRAM : Para
SOCK_DGRAM
 No establecen ni mantienen una conexi
 Tambi

No establecen ni mantienen una conexióón.n.
Tambiéén existe un l
mite en el tamañño del
o del
datagrama que se puede enviar.
que se puede enviar.
datagrama
Se transmite como un solo mensaje en la
 Se transmite como un solo mensaje en la
red que se puede perder, duplicar o llegar
red que se puede perder, duplicar o llegar
fuera de secuencia.
fuera de secuencia.

: Para datagramas
datagramas

n existe un líímite en el tama

Tipos de Sockets
Sockets
Tipos de

Existen báásicamente dos tipos
sicamente dos tipos::
Existen b
Los nono orientados a conexi
 Los
El programa de aplicacióón da la
•• El programa de aplicaci
n da la
fiabilidad
fiabilidad

orientados a conexióónn

 Los

orientados a conexióónn. .

Los orientados a conexi
•• Comunicaciones fiables
Comunicaciones fiables
•• Circuito Virtual
Circuito Virtual

Tipos de Sockets
Sockets
Tipos de

 Un Un socket
direccióón IP, un
n IP, un
direcci

queda definido por una
socket queda definido por una

protocolo y un núúmero de puerto.
mero de puerto.
protocolo y un n

En el caso concreto de TCP--IP, un

 En el caso concreto de TCP
se define por
se define por

IP, un socket
socket

una dupla Origen –– Destino.
Destino.
una dupla Origen

Tanto el origen como el destino vienen
Tanto el origen como el destino vienen
indicados por un
indicados por un
par (ipip, puerto).
, puerto).
par (

Tipos de Sockets
Tipos de

Sockets (Diagrama)
(Diagrama)

Tipos de Sockets(Puertos
Sockets(Puertos))
Tipos de

Servidor

Sockets

Puerto acordado

Cualquier puerto

Mensaje

Cliente

Sockets

Dirección Internet:
XXX.XXX.XXX.XXX

Dirección Internet:
YYY.YYY.YYY.YYY

Sockets no orientado a conexi
Sockets

no orientado a conexióónn

 Es el llamado protocolo

Es el llamado protocolo UDP.UDP.

No es necesario que los programas se conecten.
 No es necesario que los programas se conecten.

Cualquiera de ellos puede transmitir datos en
 Cualquiera de ellos puede transmitir datos en
cualquier momento, independientemente de que
cualquier momento, independientemente de que
el otro programa estéé "escuchando" o no.
"escuchando" o no.
el otro programa est

Garantiza que los datos que lleguen son
 Garantiza que los datos que lleguen son
correctos, pero no garantiza que lleguen todos.
correctos, pero no garantiza que lleguen todos.

Se utiliza cuando es muy importante que el
 Se utiliza cuando es muy importante que el
programa no se quede bloqueado.
programa no se quede bloqueado.

No importa que se pierdan datos.
 No importa que se pierdan datos.

Sockes orientado a conexi
Sockes

orientado a conexióón.n.

del protocolo TCP/IP

TCP/IP, ,

Primero hay que establecer correctamente la
 Primero hay que establecer correctamente la
conexióón.n.
conexi
Ninguno de los dos puede transmitir datos.
 Ninguno de los dos puede transmitir datos.
Se usa el protocolo TCPTCP del protocolo
 Se usa el protocolo
para gestionar la conexióón.n.
para gestionar la conexi
Se garantiza que todos los datos van a llegar de
 Se garantiza que todos los datos van a llegar de
un programa al otro correctamente.
un programa al otro correctamente.
Se utiliza cuando la informacióón a transmitir es
n a transmitir es
importante, no se puede perder ningúún dato.
n dato.
importante, no se puede perder ning
No importa que los programas se queden
 No importa que los programas se queden
"bloqueados" esperando o transmitiendo datos.
"bloqueados" esperando o transmitiendo datos.

 Se utiliza cuando la informaci

Arquitectura de Conexióónn
Arquitectura de Conexi

Cliente – Servidor

• Servidor: es el programa que permanece pasivo a la espera de que

alguien solicite conexión con él.

• Cliente: es el programa que solicita la conexión para pedir datos al

servidor

Servidor

Cliente

Cliente

Sockets

Sockets

Red

Arquitectura de la conexióón.n.
Arquitectura de la conexi

Servidor:
 Servidor:
•• EstEstáá ejecut

ejecutáándose y esperando a que otro
ndose y esperando a que otro

quiera conectarse a éél. l.
quiera conectarse a
Nunca da "el primer paso" en la conexióón. n.
Es el que "sirve" informacióón al que se la pida.
n al que se la pida.

•• Nunca da "el primer paso" en la conexi
•• Es el que "sirve" informaci

Cliente:
 Cliente:
•• Es el programa que da el

primer paso”” en la
en la

Es el programa que da el ““primer paso
conexióón. n.
conexi
•• En el momento de ejecutarlo o cuando lo
En el momento d
  • Links de descarga
http://lwp-l.com/pdf19288

Comentarios de: Comunicación entre procesos Sockets (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad