viernes, 26 de octubre de 2012

Introducción a Networking

1.1.1.        Que es Networking
El termino Networking se refiere a la posibilidad de trabajar con diversas aplicaciones ubicadas físicamente en distintas estaciones de trabajo y permitir que se conecten vía una red, para trabajar de manera cooperativa o simplemente enviar y recibir información.

1.1.2.        Que es un socket
Un Socket es una representación abstracta del extremo (endpoint) en un proceso de comunicación. Para que se dé la comunicación en una Red, el proceso de comunicación requiere un Socket a cada extremo Emisor/Receptor y viceversa.



La comunicación con sockets sigue el modelo Cliente/Servidor/Cliente. En la mayoría  de los  casos  un programa  Servidor fundamentalmente  envía  datos, mientras que un programa Cliente recibe esos datos, aunque es raro que un programa exclusivamente reciba o envíe datos. Una distinción confiable se logra si consideramos Cliente al programa que inicia la comunicación y Servidor al programa que espera a que algún otro iniciecomunicación con él.


La comunicación con sockets se hace mediante un protocolo de la familia TCP/IP en la mayoría de los casos, y es el programador quien decide qué protocolo utilizar dependiendo de la necesidades de la aplicación a desarrollar.

Socket designa un concepto abstracto por el cual dos programas (posiblemente situados en computadoras distintas) pueden intercambiarse cualquier flujo de datos, generalmente de manera fiable y ordenada.

Un socket queda definido por una dirección IP, un protocolo y un número de puerto.

Para  que  dos  programas  puedan  comunicarse  entre  sí  es  necesario  que  se cumplan ciertos requisitos:
·         Que un programa sea capaz de localizar al otro.
·         Que  ambos  programas  sean  capaces  de  intercambiarse  cualquier secuencia de octetos, es decir, datos relevantes a su finalidad.

Para ello son necesarios los tres recursos que originan el concepto de socket:
·         Un protocolo de comunicaciones, que permite el intercambio de octetos.
·         Una dirección del Protocolo de Red (Dirección IP, si se utiliza el Protocolo TCP/IP), que identifica una computadora.
·         Un  número  de  puerto,  que  identifica  a  un  programa  dentro  de  una computadora.

Los sockets permiten implementar una arquitectura cliente-servidor. La comunicación ha de ser iniciada por uno de los programas que se denomina programa cliente. El segundo programa espera a que otro inicie la comunicación, por este motivo se denomina programa servidor.

1.1.3.        Características de un socket
Las propiedades de un socket dependen de las características del protocolo en el que se implementan. El protocolo más utilizado es TCP, aunque también es posible utilizar UDP o IPX. Gracias al protocolo TCP, los sockets tienen las siguientes propiedades:

·         Orientado a conexión.
·         Se garantiza la transmisión de todos los octetos sin errores ni omisiones.
·         Se garantiza que todo octeto llegará a su destino en el mismo orden en que se ha transmitido.

Estas propiedades son muy importantes para garantizar la corrección de los programas que tratan la información.

El protocolo UDP es un protocolo no orientado a la conexión. Sólo se garantiza que si un mensaje llega, llegue bien. En ningún caso se garantiza que llegue o que lleguen todos los mensajes en el mismo orden que se mandaron. Esto lo hace adecuado para el envío de mensajes frecuentes pero no demasiado importantes, como por ejemplo, mensajes para los refrescos (actualizaciones) de un gráfico.

No hay comentarios:

Publicar un comentario