You are on page 1of 7

Instituto Tecnolgico

Superior de El Grullo

Alumno: Ruben Uribe Moreno

Numero de control: 11070135

Semestre: 7

Carrera: Ingeniera En Informtica

Profesor: Miguel ngel Grageda Pia.

Materia: Programacin en ambiente Cliente/Servidor.

Fecha: 17/09/14.

Tema: Sockets.







Sockets:
Es una interfaz de entrada-salida de datos que permite la intercomunicacin entre
procesos. Los procesos pueden estar ejecutndose en el mismo o en distintos
sistemas, unidos mediante una red. Designa un concepto abstracto por el cual dos
programas (posiblemente situados en computadoras distintas) pueden
intercambiar cualquier flujo de datos, generalmente de manera fiable y ordenada.
Los sockets de Internet constituyen el mecanismo para la entrega de paquetes de
datos provenientes de la tarjeta de red a los procesos o hilos apropiados. Un
socket queda definido por un par de direcciones IP local y remota, un protocolo de
transporte y un par de nmeros de puerto local y remoto.
Dominios:
Una familia, o dominio de la conexin, agrupa todos aquellos sockets que
comparten caractersticas comunes. Especifica el formato de las direcciones que
se podrn dar al socket y los diferentes protocolos soportados por las
comunicaciones va los sockets de este dominio.
Cada protocolo, a la hora de referirse a un nodo de la red, implementa un
mecanismo de direccionamiento. La direccin distingue de forma inequvoca a
cada nodo u ordenador, y es utilizada para encaminar los datos desde el nodo
origen hasta el nodo destino. Hay muchas llamadas al sistema que necesitan un
puntero a una estructura de direccin de socket para trabajar.
El dominio de comunicacin nos dice dnde se encuentran los
procesos que se van a intercomunicar.
Tipos de Sockets:
Sockets Stream
Sockets Stream son los ms utilizados, hacen uso del protocolo TCP (figura 4-1),
el cual nos provee un flujo de datos bidireccional, secuenciado, sin duplicacin de
paquetes y libre de errores.
La especificacin del protocolo TCP se puede leer en la RFC-793.
Sockets Datagram
Sockets Datagram hacen uso del protocolo UDP, el cual nos provee un flujo de
datos bidireccional, pero los paquetes pueden llegar fuera de secuencia, pueden
no llegar o contener errores.
Por lo tanto el proceso que recibe los datos debe comprobar la secuencia, eliminar
duplicados y asegurar la integridad.
Se llaman tambin sockets sin conexin, porque no hay que mantener una
conexin activa, como en el caso de sockets stream.
Son utilizados para transferencia de informacin paquete por paquete, Ejemplo:
dns, tftp, bootp, etc.
La especificacin del protocolo UDP se puede leer en la RFC-768.
Sockets Raw
Sockets raw no son para el usuario ms comn, son provistos principalmente para
aquellos interesados en desarrollar nuevos protocolos de comunicacin o para
hacer uso de facilidades ocultas de un protocolo existente.
Tipos de Dominios:
Dominio Unix
Bajo Unix, hay dos dominios, uno para comunicaciones internas al sistema y otro
para comunicaciones entre sistemas.
Las comunicaciones intrasistema (entre dos procesos en el mismo sistema)
ocurren (en una mquina Unix) en el dominio Unix. Se permiten tanto los sockets
stream como los datagrama. Los sockets de dominio Unix bajo Solaris 2.x se
implementan sobre TLI (Transport Level Interface).
En el dominio Unix no se permiten sockets de tipo Raw.
Dominio Internet
Las comunicaciones intersistemas proporcionan acceso a TCP, ejecutando sobre
IP (Internet Protocol). De la misma forma que el dominio Unix, el dominio Internet
permite tanto sockets stream como datagrama, pero adems permite sockets de
tipo Raw.
Los sockets stream permiten a los procesos comunicarse a travs de TCP. Una
vez establecidas las conexiones, los datos se pueden leer y escribir a/desde los
sockets como un flujo (stream) de bytes. Algunas aplicaciones de servicios TCP
son:
File Tranfer Protocol, FTP
Simple Mail Transfer Protocol, SMTP
TELNET, servicio de conexin de terminal remoto
Los sockets datagrama permiten a los procesos utilizar el protocolo UDP para
comunicarse a y desde esos sockets por medio de bloques. UDP es un protocolo
no fiable y la entrega de los paquetes no est garantizada. Servicios UDP son:
Simple Network Management Protocol, SNMP
Trivial File Transfer Protocol, TFTP (versin de FTP sin conexin)
Versatile Message Transaction Protocol, VMTP (servicio fiable de entrega
punto a punto de datagramas independiente de TCP)
Los sockets raw proporcionan acceso al Internet Control Message Protocol, ICMP,
y se utiliza para comunicarse entre varias entidades IP.

Lado del Cliente:
El cliente es la entidad activa en el establecimiento de
una conexin, puesto que es el que toma la iniciativa
de la demanda de conexin a un servidor. Esta
demanda se realiza por medio de la primitiva connect,
solicitando el establecimiento de una conexin que
ser conocida por los dos extremos. Adems, el cliente
est informado del xito o del fracaso del establecimiento de la conexin.
Para que un proceso cliente inicie una conexin con un servidor a travs de un
socket, es necesario realizar una llamada a connect. As, se crea un circuito virtual
entre los dos procesos cuyos extremos son los sockets.

Lado del Servidor:
El servidor est continuamente esperando
peticiones de servicio. Cuando se produce una
peticin, el servidor despierta y atiende al cliente.
Cuando el servicio concluye, el servidor vuelve al
estado de espera. De acuerdo con la forma de
prestar el servicio, podemos considerar dos tipos
de servidores:
Servidores interactivos: El servidor no slo
recoge la peticin de servicio, sino que l mismo
se encarga de atenderla. Esta forma de trabajo
presenta un inconveniente; si el servidor es lento
en atender a los clientes y hay una demanda de
servicio muy elevada, se van a originar unos
tiempos de espera muy grandes.
Servidores concurrentes. El servidor recoge cada una de las peticiones de
servicio y crea otros procesos para que se encarguen de atenderlas. Este
tipo de servidores slo es aplicable en sistemas multiproceso, como UNIX.
En las aplicaciones donde los tiempos de servicio son variables, es
recomendable implementar este tipo de servidores.
Su papel es pasivo en el establecimiento de la comunicacin, ya que despus de
haber avisado al sistema al que pertenece que est preparado para responder a
las peticiones de servicio, el servidor se pone a la espera de peticiones de
conexin que provengan de clientes. Para esto dispone de un socket de escucha,
enlazado al puerto TCP correspondiente al servicio, sobre el que espera las
peticiones de conexin. Cuando llega al sistema una peticin de este tipo, se
despierta al proceso servidor y se crea un nuevo socket, que se llama socket de
servicio, el cual se conecta al cliente. Entonces el servidor podr, por una parte
delegar el trabajo necesario para la realizacin del servicio a un nuevo proceso
(creado por fork) que utilizar entonces la conexin, y por otra parte volver al
socket de escucha.
Aplicacin:
Un ciber-control, ya que en este caso el servidor le da permiso a los clientes de
habilitarse cuando llega un usuario y empieza a tomar el tiempo, al llegar el
determinado tiempo que el cliente pago el servidor hace automticamente que se
bloquee la computadora para no darle acceso a nada al usuario, si el usuario dijo
que al terminar de usarla el paga, entonces el servidor solo toma el tiempo para
saber cunto deber de cobrar el dueo del ciber, y la bloquea en el momento que
el usuario del cliente ya no desee usarla.
Conclusin:
Los sockets sirven para hacer la comunicacin entre el cliente servidor, pero
utilizan un dominio que es el que hace la conexin. Existen diversos tipos de
sockets y dominios, pero no todos pueden funcionar entre s, hay unos dominios
especficos y que funcionan ms eficientemente con algunos socket mientras que
no soportan a otros sockets.
El cliente como ya lo sabemos es el que hace las peticiones mientras que el
servidor es el que recibe las peticiones y regresa una respuesta.
A mi punto de vista este tema se me hizo bastante bueno ya que me hizo
comprender que no solo es el cliente y el servidor en el modelo cliente servidor,
sino que tambin se necesitan sockets y un dominio de comunicacin, y al
combinar todas estas se puede crear un ambiente de peticiones y respuestas.
Fuetes:
http://es.wikipedia.org/wiki/Socket_de_Internet
http://www2.electron.frba.utn.edu.ar/~mdoallo/descargas/redes.pdf
http://www.lcc.uma.es/~eat/services/i_socket/i_socket.html
http://proton.ucting.udg.mx/tutorial/java/Cap9/dominio.html

You might also like