You are on page 1of 14

Unidad 2

Programacin Cliente-Servidor de Bajo Nivel: sockets y canales

Qu es un socket?
Los sockets son un sistema de comunicacin entre procesos de diferentes mquinas de una red.

Es una forma de conseguir que dos programas transmitan datos.


Desde el punto de vista del programador, es un fichero que se abre de manera especial.

Diagrama de socket
Cuando un cliente y un servidor establecen una conexin, lo hacen a travs de un socket.

Primitivas
Establecer un punto de comunicacin Comunicarse a una mquina remota Escuchar Leer o escribir y publicar informacin Desconectarse

Propiedades
Fiabilidad de transmisin Conservacin del orden de los datos No duplicacin de datos Comunicacin en modo conectado Envo de mensajes urgentes

Atributos
Dominio: Especifica el medio de comunicacin de red que utilizar el socket. Protocolo: Especifica qu protocolo se va a utilizar. Tipo: Los protocolos de internet proveen dos niveles de servicio: flujo y datagramas.

Tipos de sockets
Stream (TCP) Datagram (UDP) Raw (acceso directo al protocolo: root)

Socket Stream (TCP)


TCP: Transmission Control Protocol Son un servicio orientado a la conexin. Los datos se transfieren sin encuadrarlos en bloques, asegurndose que los datos lleguen al destino en el orden de transmisin. Si se rompe la conexin entre los procesos, stos sern informados de tal suceso para que tomen las medidas oportunas.

Socket Datagram (UDP)


UDP: User Datagram Protocol Son un servicio no orientado a la conexin. Son ms eficientes que TCP, pero en su utilizacin no est garantizada la fiabilidad.

Socket Datagram (UDP)


Los datos se envan y reciben en paquetes, cuya entrega no est garantizada. Los paquetes pueden ser duplicados, perdidos o llegar en un orden diferente al que se envi. Cada vez que se enven datagramas es necesario enviar el descriptor del socket local y la direccin del socket que debe

Socket Raw
Dan acceso directo a la capa de software de red subyacente o a protocolos de ms bajo nivel.

Se utilizan sobre todo para la depuracin del cdigo de los protocolos.

Diferencias entre socket Stream y Datagrama


Conexin

UDP: Orientado a la conexin TCP: No orientado a la conexin

Lmite de tamao.

UDP: 64 kilobits TCP: Ilimitado

Garanta de entrega

UDP: Desordenado, no hay garanta TCP: Si hay garanta

Qu tipo de socket usar?


TCP Menos posibilidades de tener problemas Mayor tiempo de entrega til para transmitir datos de longitud indefinida UDP Menos complejo Menor sobrecarga sobre la conexin Indicado para aplicaciones de sistemas distribuidos montados sobre LAN.

You might also like